如何改变约束

时间:2012-11-06 05:24:04

标签: sql oracle

SQL如何更改约束

以下是我的约束

CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode),

我想加入

ON DELETE CASCADE

到上面的约束。

如何更改现有约束ACTIVEPROG_FKEY1并添加

ON DELETE CASCADE

约束ACTIVEPROG_FKEY1

考虑ACTIVEPROG_FKEY1在表ACTIVEPROG

2 个答案:

答案 0 :(得分:116)

您无法更改约束,但可以删除它们然后重新创建。

看看这个

ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;

然后使用ON DELETE CASCADE像这样重新创建

ALTER TABLE your_table
add CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode)
    ON DELETE CASCADE;

希望这个帮助

答案 1 :(得分:8)

没有。我们无法改变约束,只有我们能做的就是放弃并重新创建它

ALTER TABLE [TABLENAME] DROP CONSTRAINT [CONSTRAINTNAME]
  

外键约束

Alter Table Table1 Add Constraint [CONSTRAINTNAME] Foreign Key (Column) References Table2 (Column) On Update Cascade On Delete Cascade
  

主键约束

Alter Table Table add constraint [Primary Key] Primary key(Column1,Column2,.....)