我對這個說法得到SQL Error: ORA-01779: cannot modify a column which maps to a non key-preserved table
錯誤:UPDATE內選擇提供了一個錯誤
UPDATE
(
SELECT CELLS.NUM, UND.CLIENT_PARAMS
FROM CELLS
LEFT OUTER JOIN UND
ON CELLS.UND_ID = UND.ID
WHERE CELLS.SASE = 1
) t
SET t.CLIENT_PARAMS = 'test';
我想更新CLIENT_PARAMS
領域的所有行,它可以選擇退貨。
我猜你是從細胞獲得多行的同一行,因爲它加入不止一次UND更多。但是,如果您要添加一些DDL和一些示例數據,我們可以提供更多幫助。 – unleashed
你需要哪一種?更新所有出現的UND,或者更新UND.ID與SASE爲1的CELLS表上的UND_ID相匹配的所有事件?或者也許完全是其他的東西? – BriteSponge
基本上UPDATE語句是 - UPDATE a_table SET some_values WHERE some_records_qualified_by_something。你的陳述沒有說明你想要更新什麼,以及哪些行不清楚。 – BriteSponge