如何用引号传递参数

时间:2011-11-09 19:02:04

标签: sql sql-server sql-server-2008

我可以在我的查询中执行此操作:

SELECT * FROM OPENROWSET(BULK  'C:\myPC.file', SINGLE_BLOB)

但我该怎么做?

Declare @Var = 'C:\myPC.file'
SELECT * FROM OPENROWSET(BULK  @Var, SINGLE_BLOB)

我尝试了三个'''单引号,但仍然说错误的语法。

1 个答案:

答案 0 :(得分:6)

您无法参数化OPENROWSET(或OPERNQUERY等)。仅限常数。

Declare @Var = 'C:\myPC.file';
Declare @SQL varchar(1000);
SET @SQL = 'SELECT * FROM OPENROWSET(BULK ''' + @Var + ''', SINGLE_BLOB)';
EXEC (@sql)