是否可以更新不同表中的Update語句中的2列? - 究其原因,「腳本」。在更新語句中運行2個SET Oracle
其中,「腳本」將是「標誌」,所以該公式不會再對相同的記錄,如果該字段被填充在運行
MERGE INTO arinvt_lot_docs ALD
USING
(SELECT arinvt.id,arinvt.class,fgmulti.in_date fgmulti.cuser3 FROM arinvt,fgmulti
WHERE arinvt.class LIKE 'CP%'
OR arinvt.class LIKE 'FG%'
OR arinvt.class LIKE 'IN%'
OR arinvt.class LIKE 'LA%'
OR arinvt.class LIKE 'PK%') Classes
ON (ALD.arinvt_id = classes.id
AND to_date(in_date) = '31-Dec-2015') --just picked a date to validate
WHEN MATCHED THEN
UPDATE SET non_conform_id = '21', fgmulti.cuser3 = 'SCRIPTED' --this text "Scripted" will fill in a field that will tell us in our reports if this was set by the script
我會喜歡用所有3個表ARINVT_LOT_DOCS,FGMULTI &顯然ARINVT中存在的arinvt.id字段來加入表。 ARINVT_LOT_DOCS & FGMULTI包含需要更改爲'21'的NON_CONFROM_ID字段。 FGMULTI表格還包含將在其中輸入「SCRIPTED」的CUSER3字段。 ARINVT表包含在所述條件下反映的庫存項目的類別。
與這個問題沒有關係,但是你的使用條款似乎在arinvt和fgmulti之間有一個交叉連接 - 沒有連接條件。那是故意的嗎? –
我聽說我可能需要一個TRANSACTION,但我沒有找到精確的Oracle文章描述語法 –
我不知道表之間的關係是什麼,所以不知道你應該如何加入他們。與你所展示的內容沒有明顯的聯繫,但其他欄目可能是相關的。也許可以將表定義(包括鍵)和一些示例數據添加到問題中,以便更容易地看到您正在嘗試執行的操作。 –