我正在更改数据库中的约束,需要删除其中一些约束。我知道对于单个约束,命令如下:
ALTER TABLE tblApplication DROP CONSTRAINT constraint1_name;
然而,当我试
ALTER TABLE tblApplication DROP (
CONSTRAINT constraint1_name,
CONSTRAINT constraint2_name,
CONSTRAINT constraint3_name
);
它不工作,我需要做:
ALTER TABLE tblApplication DROP CONSTRAINT constraint1_name;
ALTER TABLE tblApplication DROP CONSTRAINT constraint2_name;
ALTER TABLE tblApplication DROP CONSTRAINT constraint3_name;
有没有办法在一个命令中删除多个约束?我希望避免重复ALTER TABLE tblApplication
,就像ADD
命令一样:
ALTER TABLE tblApplication ADD (
CONSTRAINT contraint1_name FOREIGN KEY ... ENABLE,
CONSTRAINT contraint2_name FOREIGN KEY ... ENABLE,
CONSTRAINT contraint3_name FOREIGN KEY ... ENABLE
);
4条答案
按热度按时间2q5ifsrm1#
是的,你可以。你只需要对每个约束重复“删除约束”。例如:
编辑:我在Oracle11上测试了这个,它运行得很好。不知道旧版本。
ovfsdjhp2#
有一种替代形式可以删除与表中列相关的约束条件,也可以使用CASCADE删除列:
它在Oracle 11g上进行了测试
6mw9ycah3#
是的,我们可以一次删除多个:
u2nhd7ah4#
例如:我们可以通过创建变量的约束来删除MySQL中的约束。