有時候我們需要清空數據庫中所有用戶表的數據,如果一張表一張表的清空的話,遇到一個龐大的數據系統估計得崩潰了.? 用游標加上用變量來引用表名就可以做到這一點.?用變量來引用表名對表操作可以用在存儲過程中,根據需要動太選擇引用某個表的數據或對其操作?? 估計用的不多,好玩而已:)
//定義游標
DECLARE tables_cursor CURSOR
?? FOR
?? SELECT name FROM sysobjects WHERE type = 'U' //選擇用戶表名
OPEN tables_cursor //打開游標連接
DECLARE @tablename sysname??// 定義變量
FETCH NEXT FROM tables_cursor INTO @tablename?? //結果集中一行一行讀取表名
WHILE (@@FETCH_STATUS <> -1)? //判斷游標狀態
BEGIN
?? EXEC ('TRUNECATE TABLE ' + @tablename)?? //清空表中的數據
?? FETCH NEXT FROM tables_cursor INTO @tablename? //下一行數據
END
DEALLOCATE tables_cursor? //關閉游標