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

前端之家收集整理的这篇文章主要介绍了oracle – 如何修改现有的检查约束?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有任何方法修改表上的现有检查约束
除了删除和重新创建它吗?
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相关文章