如何用引号传递参数

use*_*076 2 sql sql-server sql-server-2008

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

SELECT * FROM OPENROWSET(BULK  'C:\myPC.file', SINGLE_BLOB)
Run Code Online (Sandbox Code Playgroud)

但是我该怎么做?

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

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

gbn*_*gbn 7

您不能参数化OPENROWSET(或OPERNQUERY等).仅限常数.

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