加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 14:32:15 所属栏目:百科 来源:网络整理
导读:是否有任何方法来修改表上的现有检查约束 除了删除和重新创建它吗? create table t ( n number);ora10g Tabelle wurde erstellt.ora10g alter table t add constraint ck check(n0);Tabelle wurde ge?ndert.ora10g alter table t modify constraint ck chec
是否有任何方法来修改表上的现有检查约束
除了删除和重新创建它吗?
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子句将强制插入或更新强制执行约束,但不会强制对表进行全表扫描以验证所有行是否符合。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读