2012-05-10 36 views
1

データのインポート用にSQL文を記述する際にエラーが発生しました。テーブル変数を宣言する必要があります

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

ファイルの先頭にテーブル変数を宣言し、テーブル変数にいくつかの操作(ループ、挿入、更新中)を実行しました。私はこのテーブル変数にアクセスした場合、後で別のwhileループ内のスクリプトの途中でエラー

の下に与えて解析するスクリプトは、テーブル変数@temptable

はあなたの助けに感謝宣言する必要があります。

+3

スクリプトファイルにGOステートメントがありますか?私は変数を消去すると信じています –

+0

いいえ私は行っていません。 – Brainchild

+0

それは単一のスクリプトですか?あなたは、スクリプトのいくつかの形式のスクリプトやダウンストリームのバージョンを投稿することはできますか? –

答えて

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

関連する問題