私は、PARTSとORDERSを扱っているところで作業しているプロジェクトがあります。各注文には多くの部品が含まれていてもよく、各部品はその寿命の間に複数の注文に存在する可能性があります(一度に複数のACTIVE ORDERはありません)。次のように私のテーブルは、現在、以下のとおりです。Oracle APEX - 新しいテーブルに項目を選択する
PARTS_TABLE
PART_NUMBER varchar2(20)
ASSIGNED_ORDER_NUMBER number(5)
ASSIGNED_ORDER_STATUS varchar2(20)
ORDER_TABLE
ORDER_NUMBER number (5)
ORDER_STATUS varchar2(20)
ORDER_PARTS_LIST varchar2(4000) //Comma delimited list generated by shuttle item.
この電流セットアップが(この前の質問の助けを借りて:Previous Question)気圧私たちのために働いているが、それは両方のテーブルに大量のデータを複製する必要があり、それが本当に許可していませんPARTがその人生の間に複数の注文書に載っているためです。
は、私は何をしたいのは、これら2つのテーブル間の相互参照表を作成することです:PART_NUMBERとORDER_NUMBERが共同主キーを作成
ORDER_PARTS_TABLE
ORDER_NUMBER number(5) (pk1)
PART_NUMBER varchar2(20) (pk2)
ORDER_STATUS varchar2(20)
。
私の主な問題は、シャトル項目の値に基づいてORDER_PARTS_TABLEの行を作成および編集することです。私は現在の設定で効果的に編集/更新できますが、現在の設定では行を作成しようとしていないため、PARTS_TABLEの行を参照しています。 APEXのフォーム上のシャトルアイテムを使用する人は、新しい行がORDER_PARTS_TABLEで作成する必要があるORDERにパーツを追加した場合、すなわち:
ORDER_TABLE
ORDER_NUMBER ORDER_PARTS_LIST ORDER_STATUS
12345 675:342:871:902 ACTIVE
ORDER_PARTS_TABLE
ORDER_NUMBER PART_NUMBER ORDER_STATUS
12345 675 ACTIVE
12345 342 ACTIVE
12345 871 ACTIVE
12345 902 ACTIVE
そして、そのためには、後に編集された場合の部分は、その行を削除され
どちらかORDER_PARTS_TABLEから除去されなければならないか、そのORDER_STATUSは「REMOVED」に設定されているその関係に
ORDER_TABLE
ORDER_NUMBER ORDER_PARTS_LIST ORDER_STATUS
12345 675:871:902 ACTIVE
either...
ORDER_PARTS_TABLE
ORDER_NUMBER PART_NUMBER ORDER_STATUS
12345 675 ACTIVE
12345 342 REMOVED
12345 871 ACTIVE
12345 902 ACTIVE
or...
ORDER_PARTS_TABLE
ORDER_NUMBER PART_NUMBER ORDER_STATUS
12345 675 ACTIVE
12345 871 ACTIVE
12345 902 ACTIVE
の関係と、そのメイクセンスのいずれかをしていますか?私の現在の解決策は、私が喜んで喜んでいるトリガーを使用していますが、この新しい問題にアプローチする最良の方法は何かを教えてください。ありがとう!
EDIT:私はいくつかの継続的な掘り下げを行っており、それが適応できるのであれば合理的に有望なものを見つけました。ここに誰でも REGEXP_SUBSTRの経験がありますか? LINKLINK
ちょっとトニー!レスポンスありがとう!私はちょうど明確にしたい...正しいことを提出するページプロセスとしてこれを設定しましたか? – Spags
そうです、はい –
トニー...質問:私は注文を作成しているのと同じページでこのプロセスを実行しようとしています。したがって、ORDER_NUMBERは自動的にインクリメントされ、フォームの提出時に割り当てられます。とにかくその価値をつかんで、このプロセスの代わりにそれを使うのですか?p1_order_number?それは理にかなっていますか?ありがとう! – Spags