gpt4 book ai didi

oracle - 如何修改现有的检查约束?

转载 作者:行者123 更新时间:2023-12-03 05:28:57 33 4
gpt4 key购买 nike

有没有办法修改表上现有的检查约束除了删除并重新创建它

create table t ( n number);
ora10g> Tabelle wurde erstellt.

ora10g> alter table t add constraint ck check(n>0);

Tabelle wurde geõndert.

ora10g> alter table t modify constraint ck check(n<0);
alter table t modify constraint ck check(n<0)
*
FEHLER in Zeile 1:
ORA-00933: SQL-Befehl wurde nicht korrekt beendet

最佳答案

您必须删除它并重新创建它,但如果您不愿意,则不必承担重新验证数据的成本。

alter table t drop constraint ck ;
alter table t add constraint ck check (n < 0) enable novalidate;

enable novalidate 子句将强制插入或更新强制执行约束,但不会强制对表进行全表扫描以验证所有行是否符合要求。

关于oracle - 如何修改现有的检查约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5077658/

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