アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (2件)

すいません。

No.#1です。

5行目は
 SELECT @sql = 'BULK INSERT T_顧客マスタ FROM ''' + @Query + ''' WITH (FIELDTERMINATOR = '','')'

となります。
@Queryの前後にシングルクォーテーションが要ります。

これで動的SQLが作成されます。
    • good
    • 0

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

とやってみてはいかがですか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A