私は以下を変更する必要があります..
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
上記のコードは、データベース内のすべてのテーブルを切り捨てます。これは必要なものですが、「dim」スキーマの一部であるテーブルでのみ機能させたいと考えています。
例として、次のテーブルがあります。
dbo.sales dim.employee dim.office
dbo.sales テーブルではなく、"dim" スキーマ テーブルのみを切り捨てるスクリプトが必要です。
これは、PK/FK がないことを前提としています (PK/FK のドロップ/作成を処理する別のコードがあるため)。
どんな助けでも大歓迎です。
ありがとう。