我有以下修改..如何調整TSQL代碼以僅截斷dim模式的表?
DECLARE @tablename AS VARCHAR (1000)
DECLARE @sql AS VARCHAR (1000)
IF OBJECT_ID('tempdb.dbo.#tables') IS NOT NULL
DROP TABLE #tables
SELECT *
INTO #tables
FROM sys.tables
WHILE EXISTS (SELECT *
FROM #tables)
BEGIN
SELECT @tablename = name
FROM #tables
SELECT @sql = 'truncate table ' + @tablename;
PRINT @sql
EXECUTE (@sql)
DELETE #tables
WHERE name = @tablename;
END
上面的代碼將截斷在數據庫中,所有表這正是我需要的,但是我只希望這對那些的「暗淡」的一部分工作表架構。
舉個例子,我有以下的表..
dbo.sales dim.employee dim.office
我想腳本只截斷「暗淡」模式表以及不是dbo.sales表。
這是假設我沒有任何PK/FK(因爲我有另一個代碼處理PK/FK的drop/create)。
任何幫助,將不勝感激。
謝謝。
呃,'FROM SYS.TABLES WHERE SCHEMA_NAME([schema_id]) = N'dim';'? –