gpt4 book ai didi

oracle - 创建约束时,Exceptions into 子句不起作用

转载 作者:行者123 更新时间:2023-12-04 14:32:03 26 4
gpt4 key购买 nike

我使用 Oracle 11g。
我有一张 table :

create table test (one number(2), two number(2));

有2行:
insert into test (one, two) values (1, 1);
insert into test (one, two) values (2, null);
commit;

现在我创建一个异常(exception)表:
create table exceptions(row_id rowid,
owner varchar2(30),
table_name varchar2(30),
constraint varchar2(30));

现在我想为测试创建主键:
alter table test add constraint test_pk primary key (one, two) exceptions into exceptions;

当然,我收到以下错误:ORA-01449

但是引起异常的行不在异常表中?

有谁能够帮助我。提前致谢

沃尔夫冈

最佳答案

为此,您必须首先创建禁用的约束:

ALTER TABLE test ADD CONSTRAINT test_pk PRIMARY KEY (one, two) DISABLE;

然后,启用有异常(exception)的约束:
ALTER TABLE TEST ENABLE CONSTRAINT test_pk EXCEPTIONS INTO exceptions;

然后你可以选择结果:
SQL> SELECT * FROM EXCEPTIONS;

ROW_ID OWNER TABLE_NAME CONSTRAINT
------------------ ----- ---------- ----------
AAHpV4AAHAAApliAAB XXX TEST TEST_PK

关于oracle - 创建约束时,Exceptions into 子句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com