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

前端之家收集整理的这篇文章主要介绍了oracle – 如何修改现有的检查约束?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有任何方法修改表上的现有检查约束
除了删除和重新创建它吗?
  1. create table t ( n number);
  2. ora10g> Tabelle wurde erstellt.
  3.  
  4. ora10g> alter table t add constraint ck check(n>0);
  5.  
  6. Tabelle wurde geõndert.
  7.  
  8. ora10g> alter table t modify constraint ck check(n<0);
  9. alter table t modify constraint ck check(n<0)
  10. *
  11. FEHLER in Zeile 1:
  12. ORA-00933: sql-Befehl wurde nicht korrekt beendet
您必须删除它并重新创建它,但是你不必承担重新验证数据的成本,如果你不想。
  1. alter table t drop constraint ck ;
  2. alter table t add constraint ck check (n < 0) enable novalidate;

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

猜你在找的Oracle相关文章