2017-03-06 11 views
0

以前に作成したシーケンスを新しい値に変更する必要があるデータ移行スクリプトを準備中です。ここSQL Server - プログラムでシーケンスを変更する

は私がこれまで試みたものである:

実行時
DECLARE @Curr_Sampling_Request_ID INT ; 

SELECT @Curr_Sampling_Request_ID = MAX (Sampling_Request_ID) 
    FROM [MyDB].[ABC].[T_DATA_Sampling_Requests] ; 

DECLARE @Update_Sequence NVARCHAR(512) ; 

SET @Update_Sequence = 
     N'ALTER SEQUENCE [S_DATA_Sampling_Requests] RESTART WITH ' + 
     CAST(@Curr_Sampling_Request_ID AS VARCHAR) ; 

print('Attempting: ' + @Update_Sequence) ; 

EXEC @Update_Sequence ; 

Iは、(プリントレコードも示されている)、次のエラーメッセージを得た:

を試みる:2848805 有する配列[S_DATA_Sampling_Requests] RESTARTをALTERメッセージ203、レベル16、状態2、行10 名前 'ALTER SEQUENCE [S_DATA_Sampling_Requests] RESTART WITH 2848805'は有効な識別子ではありません。

[注:。また、一時的な文字列を使用することなく、一時的な文字列を使用せずに試みたが、同じエラーが受信された】

すべてのヘルプは高く評価されるであろう。

答えて

1

通常のストアドプロシージャのように、文字列クエリを使用しました。 する必要があります:

EXECUTE sp_executesql @Update_Sequence 
+0

ビンゴ!あなたの迅速な返信をありがとう! – FDavidov

関連する問題