如何将约束名添加到已经存在的约束中

时间:2015-10-03 19:15:28

标签: sql oracle oracle11g

有没有办法为已有的约束命名?
例如:

create table employee (emp_id number(10),emp_name varchar2(20),
dept_id number(10),foreign key(dept_id) references department(dept_id));

在上面的查询中我没有命名外键约束所以在创建表后我可以给它一个名字也可以删除外键约束而不删除列吗?

2 个答案:

答案 0 :(得分:4)

是的,您可以重命名这样的约束: alter table t rename constraint old_name to new_name

编辑:我已经忘记了第二个问题。是的,您可以在不删除列的情况下删除约束。如果您不知道约束的名称,可以在user_constraints表中找到它,如下所示:

select constraint_name from user_constraints where table_name = 'your_table' and constraint_type ='R'

答案 1 :(得分:2)

对于第二部分,是的,您可以删除外键约束。