1

データ インポート用の SQL ステートメントを記述しているときにエラーが発生しました。

データ ポートを行っているため、いくつかの一時テーブル変数を宣言する必要があります。

ファイルの先頭でテーブル変数を宣言し、テーブル変数に対していくつかの操作 (while ループ、挿入、および更新) を実行しました。このテーブル変数にアクセスすると、別の while ループのスクリプトの途中で、スクリプトの解析で以下のエラーが発生します。

テーブル変数 @temptable を宣言する必要があります

あなたの助けに感謝。

4

1 に答える 1

9

以前に宣言された変数が、実行された SQL コードのブロックで使用できなくなった場合は、GO ステートメントが呼び出された可能性があります。

MSDN によると、「ローカル変数のスコープは、それが宣言されているバッチです。」.

Go ステートメントは、「Transact-SQL ステートメントのバッチの終了を SQL Server ユーティリティに通知します。」

間違った GO ステートメントがないか、SQL コードを再確認することをお勧めします。

参考文献:

DECLARE @local_variable (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms188927.aspx

GO (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms188037.aspx

于 2012-05-10T18:18:16.053 に答える