私はこのクエリを書いていますが、精神的な障害に直面しています。私は自分の周りをループし続け、それはイライラします。
表は次のとおりです。
PO_HEADER(IC_PO_HEADER一意)
IC_PO_HEADER | po_number | revision_number
123 p123 0
456 p123 2
789 p123 48
PO_LINE(IC_LINE_KEY&IC_PO_LINE一意)
IC_PO_HEADER | po_number | line_rev_no | ic_line_key | ic_po_line
123 p123 0 8246321 214578
123 p123 0 8246322 214579
123 p123 0 8246322 214580
各列には約150のテーブルがありますが、実際に重要なのはこれらだけです。これは、すべてがチェックしているものであり、次のように表示するために行全体をコピーしたいと思います。
IC_PO_HEADER | po_number | line_rev_no | ic_line_key | ic_po_line
123 p123 0 8246321 214578
123 p123 0 8246322 214579
123 p123 0 8246323 214580
456 p123 2 8246324 214581
456 p123 2 8246325 214582
456 p123 2 8246326 214583
789 p123 48 8246327 214584
789 p123 48 8246328 214585
789 p123 48 8246329 214586
選択した巣でインサートを使用するつもりでしたが、私は自分自身を輪になって走り続けています。これはサンプルデータであり、15,000レコードのオーダーでPO_HEADER
、現在40,000レコードがありますPO_LINE
。
疑似コード:
If PO_HEADER.ic_po_header does not exist in PO_LINE.ic_po_header AND
PO_HEADER.po_number does exist in PO_LINE.po_number
COPY PO_LINE.* where the above is true AND
SET PO_LINE.line_rev_no to PO_HEADER.revision_number (do this until no more PO_HEADER.revision_number's exist that do not meet the criteria)
AUTONUMBER/INCREMENT PO_LINE.ic_line_key AND PO_LINE.ic_po_line