Используйте следующее утверждение в качестве основы - измените его, как вам нужно. В текущей реализации у нас есть PRINT
, и мы генерируем команду только для таблиц, имеющих столбец идентификаторов:
DECLARE @DynamicTSQLStatement NVARCHAR(MAX);
SELECT @DynamicTSQLStatement = STUFF
(
(
SELECT ';' + 'DBCC CHECKIDENT (''' + QUOTENAME(SCHEMA_NAME(T.[schema_id])) + '.' + QUOTENAME(T.[name]) + ''',reseed,0); PRINT ''' + QUOTENAME(SCHEMA_NAME(T.[schema_id])) + '.' + QUOTENAME(T.[name]) + ''''
FROM [sys].[tables] T
INNER JOIN [sys].[columns] C
ON T.[object_id] = C.[object_id]
WHERE C.[is_identity] = 1
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1
,1
,''
);
SELECT @DynamicTSQLStatement;