如何改变约束

use*_*711 82 sql oracle

SQL如何更改约束

以下是我的约束条件之一

CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode),
Run Code Online (Sandbox Code Playgroud)

我想加入

ON DELETE CASCADE
Run Code Online (Sandbox Code Playgroud)

到上面的约束.

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

ON DELETE CASCADE
Run Code Online (Sandbox Code Playgroud)

约束ACTIVEPROG_FKEY1

考虑ACTIVEPROG_FKEY1在表ACTIVEPROG

小智 130

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

看看这个

ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;
Run Code Online (Sandbox Code Playgroud)

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

ALTER TABLE your_table
add CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode)
    ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)

希望这个帮助


and*_*ndy 10

不.我们不能改变约束,只有我们能做的就是丢弃并重新创建它

ALTER TABLE [TABLENAME] DROP CONSTRAINT [CONSTRAINTNAME]
Run Code Online (Sandbox Code Playgroud)

外键约束

Alter Table Table1 Add Constraint [CONSTRAINTNAME] Foreign Key (Column) References Table2 (Column) On Update Cascade On Delete Cascade
Run Code Online (Sandbox Code Playgroud)

主键约束

Alter Table Table add constraint [Primary Key] Primary key(Column1,Column2,.....)
Run Code Online (Sandbox Code Playgroud)

  • 确实,OP想要的东西是不可能的,但是为什么你发布一个链接到SQL Server站点以获得标记为Oracle的问题? (6认同)