2010-11-03 54 views
5

是否可以使用連接在單個查詢中更新Oracle中的多個表?如果是這樣,語法是什麼?我的同事說他已經在MySQL中完成了。Oracle中的多表更新

更新 - 我想要做的就是這樣的事情

UPDATE table1 t1 JOIN table2 t2 ON t1.id = t2.id SET t1.column1 = 'ABC', t2.column2 = 'BCD' WHERE <condition> 
+0

您是否找到了解決方案?我有一個類似的問題,我想用一個數據庫調用來更新兩個表中每個表的狀態列,而不是兩個單獨的調用。 – bakoyaro 2010-11-19 18:26:27

+1

不是。它不起作用。 – 2010-11-20 02:01:30

回答

4

什麼問題是你想解決?您不能在Oracle中使用單個更新語句來更新多個表,但可以在視圖上使用「反轉」觸發器。

+0

我只有SELECT和UPDATE權限。我無法創建觸發器。 – 2010-11-03 08:23:55

+0

@Joyce Babu:視圖和觸發器可以在你自己的模式中。您不應該在表上需要任何其他特權。 (我假設你至少可以在你自己的模式中創建對象。) – 2010-11-23 05:48:47

+0

謝謝jonearles。該項目結束了,我無法再訪問服務器來測試它。 – 2010-11-24 02:20:54