Oacle 下对标下元素约束条件的添加与删除
- 插入元素
alter table table_name
add add_name data_type;
- 添加约束条件 NOT NULL
alter table table_name
modify add_name constraint add_name_nn not null;
注意:添加 not null 的时候,由于无法选择被添加的变量,所以选择用修改命令modify代替add.
- 添加外键
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)