1

尝试通过引入全局常量来改进一些 tsql 批量插入代码:

declare @folder varchar(max)
declare @fileLocation varchar(max)
set @folder = 'C:\SomeFolder\'

set @fileLocation = @folder + 'Data.txt';
BULK INSERT #Table
FROM ''' + @fileLocation + '''
WITH (
    FIRSTROW = 2,
    FIELDTERMINATOR = '\t', 
    ROWTERMINATOR = '\n'
);

尝试了 FROM 代码的所有变体,但均未成功。有任何想法吗?谢谢。

4

1 回答 1

1

您可以将其转换为动态 SQL:

declare @folder varchar(max)
declare @fileLocation varchar(max)
set @folder = 'C:\SomeFolder\'
declare @sql varchar(max)

set @fileLocation = @folder + 'Data.txt';
set @sql = 'BULK INSERT #Table
FROM ''' + @fileLocation + '''
WITH (
    FIRSTROW = 2,
    FIELDTERMINATOR = ''\t'', 
    ROWTERMINATOR = ''\n''
);'

exec(@sql)
于 2013-11-06T09:26:36.597 回答