3
T-SQLを使用する構文エラーが発生することなく変数のテーブル/インデックス値で 'ALTER INDEX'を使用できないことがわかりました。これは何らかの方法で行えますか? I 2005年SQL Server - パラメータとして変数に 'ALTER INDEX'を使用する方法
私のコードは次のようになりますSQL Server上だ:
Msg 102, Level 15, State 1, Line 7
Incorrect syntax near '@IDXNAME'.
Msg 156, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'SET'.
私が働いている実際のコードはより複雑である:構文エラーは、次のようになります
DECLARE @TABLENAME VARCHAR(256)
DECLARE @IDXNAME VARCHAR(256)
DECLARE @SCHEMAID INT
SET @TABLENAME = 'T1'
SET @IDXNAME = 'T1_IDX0'
-- The next line is OK as it hardcodes the variable names
ALTER INDEX T1_IDX0 ON T1 SET (ALLOW_PAGE_LOCKS = ON)
-- The next line generates a syntax error
ALTER INDEX @IDXNAME ON @TABLENAME SET (ALLOW_PAGE_LOCKS = ON)
変数を使用することができれば便利です。私はそれを回避する方法の1つは、動的SQLを使用するだろうと思うが、私はそれを避けることができれば本当にむしろ。
おかげであなたは罰金であることを示唆している何を(あなたがSPか何かを構築するために思っていました)。あなたの助けをもう一度ありがとう。 – shearichard
私の喜び、私が助けることができてうれしい:) –