将变量放在单引号内

时间:2016-04-02 13:57:51

标签: variables import

我有一个简单的数据导入脚本,我在MSSQL中运行。如果我静态分配要导入的数据文件名,它可以很好地工作。

BULK INSERT TRACKED_IMPORT FROM 'C:\SQLIMPORT\DATAFILE.CSV' WITH (FIRSTROW = 2, FIELDTERMINATOR = ';', ROWTERMINATOR = '0x0a')

但是,我想使用变量而不是静态文件名。像这样:

DECLARE @IMPORTFILENAME VARCHAR(30) = 'C:\SQLIMPORT\DATAFILE.CSV';
BULK
INSERT TRACKED_IMPORT
FROM @IMPORTFILENAME
WITH (FIRSTROW = 2, FIELDTERMINATOR = ';', ROWTERMINATOR = '0x0a')

当我这样做时,我收到以下错误:

Msg 102,Level 15,State 1,Line 23 “@IMPORTFILENAME”附近的语法不正确。

Msg 319,Level 15,State 1,Line 24 关键字'with'附近的语法不正确。如果此语句是公用表表达式,xmlnamespaces子句或更改跟踪上下文子句,则必须以分号结束前一个语句。

有没有办法允许变量文件名?

0 个答案:

没有答案