2013-03-22 66 views

回答

1
EXEC database..sp_executesql N'DBCC CHECKIDENT(''dbo.table'', reseed, 0);'; 

甚至:

DECLARE @t SYSNAME = N'dbo.table'; 

EXEC database..sp_executesql 
    N'DBCC CHECKIDENT(@t, reseed, 25);', 
    N'@t SYSNAME', @t; 

此外,如果表是空的并没有任何FK引用或其他限制你可以使用这样做更容易...

TRUNCATE TABLE database.dbo.table; 

...这恰好也补种IDENTITY列。

+0

不能截断 - 表被外键引用。 exec database..sp_execeutesql - 获取错误'。'附近的语法不正确。 – davor 2013-03-22 16:12:08

+0

@达沃对不起,我没有用单引号括起来。你应该更新你的问题,因为我只是抓住你的语法。 :-) – 2013-03-22 16:13:55

0

如何使用EXEC执行USE和CHECKIDENT?

EXEC('USE database;DBCC CHECKIDENT (''dbo.table'', reseed, 0);') 
相关问题