締切済み

【 困 】 ストアドプロシージャ

  • すぐに回答を!
  • 質問No.262720
  • 閲覧数618
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 16% (89/530)

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件)

  • 回答No.2

ベストアンサー率 57% (36/63)

すいません。No.#1です。

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

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

これで動的SQLが作成されます。
Be MORE 7・12 OK-チップでイイコトはじまる
  • 回答No.1

ベストアンサー率 57% (36/63)

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

とやってみてはいかがですか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
このQ&Aのテーマ

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ