与 TSQL 连接错误

问题描述 投票:0回答:1

下面的代码有什么问题?

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

谢谢

sql-server t-sql bulkinsert
1个回答
5
投票

您无法在批量插入语句中动态地将日期连接到文件名...

如果你想这样做,你必须使用动态 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)
© www.soinside.com 2019 - 2024. All rights reserved.