oracle秘钥到期,Oracle – 更新加入 – 非密钥保留表
我試圖復制一個Ingres“tbl2”中的更新tbl1命令,這在Oracle中并不完全.
所以我使用“update(select tbl1 join tbl2 …)”命令.兩個表都定義了主鍵,我認為我的連接唯一標識行,但是我仍然得到“ORA-01779:不能修改映射到非密鑰保留表的列”.
這里是適當?shù)哪涿矶x和我正在執(zhí)行的更新:
CREATE TABLE tbl1
(
ID decimal(11) NOT NULL,A varchar2(3) NOT NULL,B float(7),CONSTRAINT tbl1_pk PRIMARY KEY (ID,A)
)
;
CREATE TABLE tbl2
(
ID decimal(11) NOT NULL,B float(15),C float(15),D char(1) NOT NULL,CONSTRAINT tbl2_PK PRIMARY KEY (ID,A,D)
)
;
UPDATE
(select tbl1.b,tbl2.c
from tbl1 inner join tbl2
on tbl1.id=tbl2.id
and tbl1.a=tbl2.a
and tbl1.b=tbl2.b
and tbl1.a='foo'
and tbl2.D='a')
set b=c;
如何定義我的選擇,使得Oracle將不滿足于我沒有唯一性違規(guī)?
總結
以上是生活随笔為你收集整理的oracle秘钥到期,Oracle – 更新加入 – 非密钥保留表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle consistent ge
- 下一篇: 如何制作优秀的课件电脑如何制作课件