2

次のコードの何が問題になっていますか?

BULK INSERT test
FROM 'myfile_'+ CONVERT(VARCHAR(20), GETDATE(), 112) + '.TXT'
    WITH
    (FIRSTROW = 2,
     FIELDTERMINATOR = '~',
     ROWTERMINATOR = '\n')

エラーメッセージ:

メッセージ 102、レベル 15、状態 1、行 3 '+' 付近の構文が正しくありません。

4

1 に答える 1

4

一括挿入ステートメントで日付をファイル名に動的に連結することはできません...

これを行うには、動的 Sql を使用してステートメントを作成し、それを実行する必要があります。

DECLARE @Sql NVARCHAR(MAX)
SET @Sql = 
'BULK INSERT test
FROM ''myfile_' + CONVERT(VARCHAR(20), GETDATE(), 112) + '.TXT''
    WITH
    (FIRSTROW = 2,
     FIELDTERMINATOR = ''~'',
     ROWTERMINATOR = ''\n'')'

EXEC(@Sql)
于 2012-08-03T19:21:46.500 に答える