日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

ORA-01779: 無法修改與非鍵值保存表對應的列

作者:Terence Wang 更新時間: 2022-04-05 編程語言

問題描述

?錯誤報告 -
SQL 錯誤: ORA-01779: 無法修改與非鍵值保存表對應的列
01779. 00000 - ?"cannot modify a column which maps to a non key-preserved table"
*Cause: ? ?An attempt was made to insert or update columns of a join view which
? ? ? ? ? ?map to a non-key-preserved table.
*Action: ? Modify the underlying base tables directly.

這個錯誤產生的原因是子查詢的結果中,用來更新demo_t1的demo_t2表id不唯一,導致被更新對象test1中的一行可能要對應test2中的很多行,這樣oracle就不知道該怎么更新

例如demo_t1中fname?A fmoney '20'有可能對應demo_t2中fname?A?fmoney '100', ifname?A?fmoney '200' 這2個數據,所以導致無法更新.?

解決辦法

刪除重復數據 給demo_t2加上一個主鍵

ALTER TABLE DEMO_T2 ADD PRIMARY KEY(FNAME);

再次嘗試,更新成功

原文鏈接:https://terence.blog.csdn.net/article/details/122894411

欄目分類
最近更新