【发布时间】:2017-06-07 19:05:54
【问题描述】:
我知道TRUNCATE TABLE "MyTable" 的有效替换是:
DELETE FROM MyTable
DBCC CHECKIDENT ('DATABASENAME.dbo.MyTable',RESEED, 0)
但是,我希望尽可能使用TRUNCATE TABLE,但我有一些使用数据库复制的客户。对于那些客户,我收到错误:Cannot truncate table 'MyTable' because it is published for replication or enabled for Change Data Capture.
有没有办法 1) 预先测试 TRUNCATE 是否可以工作,或者 2) 发出 TRUNCATE 命令,使其不会失败,而是留下一个可测试的值 (@@ERROR也许?)如果它失败了,我可以执行DELETE?
【问题讨论】:
标签: sql-server sql-delete truncate