我有这个脚本
TRUNCATE TABLE [dbo].[TableOne]
TRUNCATE TABLE [dbo].[TableTwo]
SET IDENTITY_INSERT [dbo].[TableOne] ON
...Insert stuff....
SET IDENTITY_INSERT [dbo].[TableOne] OFF
SET IDENTITY_INSERT [dbo].[TableTwo] ON
...Insert other stuff....
SET IDENTITY_INSERT [dbo].[TableTwo] OFF
但由于外键约束,我无法截断TableTwo
。但这没关系,因为我正在截断相关表并插入新数据。
那么可以暂时禁用外键或其他内容,然后在脚本末尾重新激活它吗?
disable FK
[the script]
enable FK
答案 0 :(得分:0)
是的,这是可能的。您最好在交易中执行以下操作:
删除约束
截断表格
重新创建约束。
要禁用:
https://msdn.microsoft.com/en-us/library/ms175041.aspx
启用:
http://www.techonthenet.com/sql_server/foreign_keys/enable.php
还有许多其他具体语法示例。