Oracle:Create, alter, drop and add!

Oacle 下对标下元素约束条件的添加与删除


  1. 插入元素
alter table table_name
add add_name data_type;
  1. 添加约束条件 NOT NULL
alter table table_name
modify add_name constraint add_name_nn not null;

注意:添加 not null 的时候,由于无法选择被添加的变量,所以选择用修改命令modify代替add.

  1. 添加外键
alter table table_name
add constraint var_name_fk foreign key(var_name) references table_name2(var);

而添加外键的时候,在foreign key 后会有被添加外键的变量,所以直接用add.

不过要想将not null与外键一起添加进去,貌似有点不可行。反正我弄了好久都没成功,欢迎广大朋友试验,如若成功,请告知^.^

像这种方法是不行滴:

alter table score
modify s_no integer constraint score_s_no_nn not null,
modify c_no integer constraint score_c_no_nn not null,
modify s_no integer constraint score_s_no_nn not null;
报错
ERROR at line 2:ORA-01735: invalid ALTER TABLE option

还有这种也不行

alter table score
modify s_no integer constraint score_s_no_nn not null,c_no integer constraint score_c_no_nn not null;
modify s_no integer constraint score_s_no_nn not null,
或是这种更改约束方法
alter table course
modify d_no constraint course_d_no_fk foreign key(d_no) references dept(no)
modify d_no constraint course_d_no_fk foreign key(d_no) references dept(no)

4.删除约束条件

在建表的时候,如果给每一个约束条件起名字如:var_name_fk、add_name_nn等等。在删除约束条件的时候都会很轻松!如可以直接以如下方式删除

alter table table_name

drop constraint var_name_fk;

或者

alter table table_name

drop constraint add_name_nn;


--- 参考:
[oracle添加notnull约束](http://www.2cto.com/database/201503/382810.html)
上一篇:GitHub Desktop使用


下一篇:实验12:Problem G: 强悍的矩阵运算来了