这里我有3个名为t1,t2,t3
的表id dept_name
201 CSE
202 ECE
203 IT
204 MECH
205 EEE
**T1**
id dept_per
201 50
202 60
203 70
204 80
205 80
**T2**
id dept_rank
201 2
202 4
203 1
204 5
205 3
**T3**
这里Id是主键,T2& T3有它的foriegn Key。现在我想删除表T3中的一行但是由于外键它不允许我删除该行。如何在不删除外键的情况下删除该行。
答案 0 :(得分:0)
我刚才从旧职位得到了这个答案
How can foreign key constraints be temporarily disabled using T-SQL?
如果要禁用数据库中的所有约束,只需运行以下代码:
-- disable all constraints
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
要 重新打开它们,运行:(打印是可选的,当然是 只列出表格)
-- enable all constraints
exec sp_MSforeachtable @command1="print '?'",
@command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"