2011-11-09 34 views
1

我可以在我的查詢實現這個目標:如何通過用引號參數

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

但我怎麼做到這一點?

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

我嘗試了三個'''單引號,但仍然說錯誤的語法。

回答

6

您不能參數OPENROWSET(或OPERQUERY等)。僅限常量。

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

此示例不起作用。它說:找不到存儲過程'SELECT * FROM OPENROWSET(BULK'c:\ MyPC.file',SINGLE_BLOB)' – user194076

+3

@ user194076:你沒有在EXEC中使用(和)... – gbn