這可能是你在找什麼
所有語句被收集在一個表中,通過它們的插入點排序(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