这可能是你在找什么
所有语句被收集在一个表中,通过它们的插入点排序(id
是IDENTITY
)。这将是 - 肯定 - 没问题为您打造以同样的方式你的第二个说法......
DECLARE @cmdTbl TABLE(id INT IDENTITY,cmd NVARCHAR(MAX));
INSERT INTO @cmdTbl(cmd)
SELECT 'TRUNCATE TABLE ' + QUOTENAME(t.TABLE_CATALOG) + '.' + QUOTENAME(t.TABLE_SCHEMA) + '.' + QUOTENAME(t.TABLE_NAME) + ';'
FROM INFORMATION_SCHEMA.TABLES AS t
WHERE t.TABLE_NAME LIKE '%RND%'
--AFTER收集我用CURSOR
执行它们一个接一个的所有语句。
DECLARE @cmd VARCHAR(MAX);
DECLARE cur CURSOR FOR SELECT cmd FROM @cmdTbl ORDER BY id;
OPEN cur;
FETCH NEXT FROM cur INTO @cmd;
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @cmd;
--EXEC(@cmd); --For syntax check you start without EXEC...
FETCH NEXT FROM cur INTO @cmd;
END
CLOSE cur;
DEALLOCATE cur;
谢谢阿鲁。如果可能,请您提供查询2 – SNR
@SNR:查询已更新为第二个选项 – Arulkumar
Great Arul。您的帮助是非常感谢,不幸的是它显示消息窗口,因为我不符合投票的这个答案.. – SNR