我希望将此代码放入aspx环境中sqldatabase的delete命令中:
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
GO
DELETE FROM Sales.Individual
WHERE CustomerID ='20562'
GO
exec sp_msforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
GO
这样我可以先禁用约束,删除指定的记录,然后重新建立约束。我无法以某种方式让它工作,有没有人知道如何解决这个问题?谢谢!
答案 0 :(得分:1)
你真的需要考虑一下。假设您禁用了约束并删除了记录。您无法重新放置约束,除非您还删除了阻止您首先删除原始约束的所有相关记录。
您的选择是按顺序删除所有相关记录,或者在删除时使您的关系级联。或者更好的是,不要删除记录 - 请参阅dana的建议。虽然我个人更喜欢使用Deleted datetime null
而不是IsDeleted bit null
。