自己重新从数据库基础知识开始学习。今天遇到个弱弱的问题,请教一下!一个测试表:create table test(
id varchar2(20) primary key,
name varchar2(20),
age number,
email varchar2(50)
)
--增加check约束
alter table test add constraint chk_age check(age>12)
--删除check约束
alter table test drop constraint chk_age1增加了一个check约束。
现在我想修改这个check约束(例如:这个约束的名字从chk_age---》chk_age1,(age>12)---》(age>10))应该怎么写?(先删除再加就不用说了,有没有直接修改的?) alter table test modify(age number constraint chk_age1 check(age>10))  还有这种写法是保留了chk_age约束,重新创建了一个chk_age1约束。我的目的是修改。请教!

解决方案 »

  1.   

    更新表user_constraints的CONSTRAINT_NAME不知道可以不,没测试过
      

  2.   

    SQL> create table test(
      2  id varchar2(20) primary key,
      3  name varchar2(20),
      4  age number,
      5  email varchar2(50)
      6  );表已创建。SQL> alter table test add constraint chk_age check(age>12);表已更改。
    SQL> alter table test rename constraint chk_age  to chk_age111;表已更改。