2017-07-20 18 views
1

動的SQLを使用してalter index文を使用して索引を再構築することはできますか?クエリを保持する@sqlStringSpatial変数をパラメータとして@iを指定した単純なselect文に変更すると、意図したとおりに動作しますが、ALTER INDEXでは機能しません。これは可能ですか?動的SQLを使用した動的索引の使用

DECLARE @sqlStringSpatial AS NVARCHAR(200) = N'ALTER INDEX @i ON dbo.test1910 REBUILD WITH (ONLINE = OFF)'; 
declare @dSQL as nvarchar(500) = N'@i nvarchar(50)'; 
DECLARE @indexName AS NVARCHAR(30) = N'Index01Tester'; 

EXEC sp_executesql @sqlStringSpatial, @dSQL, @i = @indexName; 

答えて

0

あなたはパラメータ化することはできませんidentifiers

DECLARE @indexName AS NVARCHAR(30) = N'Index01Tester'; 

DECLARE @sqlStringSpatial AS NVARCHAR(200) = N'ALTER INDEX '+quotename(@indexName)+' ON dbo.test1910 REBUILD WITH (ONLINE = OFF)'; 

EXEC sp_executesql @sqlStringSpatial 
関連する問題