- 締切済み
【 困 】 ストアドプロシージャ
OS:WIN2000 DB:SQLServer2000 下記のストアドプロシージャを作成しました。 BULK INSERTを使っています。 引数でCSVファイルのパスを渡そうとしています。 「エラー170:行5: '@Query'の近くに無効な構文があります。」 というエラーになってしまいます。 5行目にあるFromの次に変数を書くには、どうしたらいいのでしょうか? CREATE proc SP_BULK_INSERT @Query char(100) AS BULK INSERT T_顧客マスタ FROM @Query WITH (FIELDTERMINATOR = ',') GO
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kumagoro-
- ベストアンサー率57% (36/63)
回答No.2
すいません。No.#1です。 5行目は SELECT @sql = 'BULK INSERT T_顧客マスタ FROM ''' + @Query + ''' WITH (FIELDTERMINATOR = '','')' となります。 @Queryの前後にシングルクォーテーションが要ります。 これで動的SQLが作成されます。
- kumagoro-
- ベストアンサー率57% (36/63)
回答No.1
CREATE proc SP_BULK_INSERT @Query char(100) AS DECLARE @sql varchar(8000) SELECT @sql = 'BULK INSERT T_顧客マスタ FROM ' + @Query + ' WITH (FIELDTERMINATOR = '','')' EXEC(@sql) GO とやってみてはいかがですか?