3
MERGE INTO target_table tgt
USING source_table src
on(tgt.c1=src.c1)
WHEN MATCHED THEN
UPDATE SET tgt.c1=src.c2
我得到ORA-38104: Columns referenced in the ON clause cannot be updated
代碼。我明白這個錯誤的原因。但是,我們如何重寫這段代碼呢?有沒有使用光標的可能性?
我得到這個錯誤'語句的
WHEN NOT MATCHED
部分ORA- 01445-無法從連接視圖中選擇ROWID而沒有鍵保存表原因:SELECT語句試圖從連接操作派生的視圖中選擇ROWID。由於在視圖中選擇的行不對應於基礎物理記錄,因此不能返回ROWID。 '如果我使用這個查詢 – Vivek你必須做些稍微不同的事情。你確定你有'T2.ROWID AS''嗎?使用'src.ROWID'是不合法的,這就是爲什麼我用別名'AS rid' – Sodved
是的,你是對的。我錯過了將't2.ROWID'重命名爲'rid'。它在我添加別名後工作正常。謝謝深深地暗示:) – Vivek