如何删除具有外键的行?

时间:2017-09-26 12:45:27

标签: sql-server database

这里我有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中的一行但是由于外键它不允许我删除该行。如何在不删除外键的情况下删除该行。

1 个答案:

答案 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"
相关问题