我试图找出一种方法,可以将文件名传递到可以导入文件的存储过程中。但是,动态设置 SQL 后,找不到对象。
DECLARE @fileName varchar(200),
@sql varchar(max);
SET @fileName = 'C:\file.csv';
SET @sql = 'SELECT *
INTO #import
FROM OPENROWSET(BULK ''' + @fileName + ''',
FORMATFILE=''C:\format.xml'',
FIRSTROW = 2) AS a';
EXEC(@sql);
SELECT * INTO #stage
FROM #import;
结果
(27823 row(s) affected)
Msg 208, Level 16, State 0, Line 29
Invalid object name '#tmtImport'.
用作
##import
您的餐桌。全局临时表将在连接的整个生命周期内持续存在。表#import
超出范围后exec