Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verwenden einer Variablen in der OPENROWSET-Abfrage

Wie von Scott vorgeschlagen, können Sie keine Ausdrücke in OPENROWSET verwenden .Versuchen Sie, eine dynamische SQL zu erstellen, um die Parameter zu übergeben

Declare @ID int
Declare @sql nvarchar(max)
Set @ID=1
Set @sql='SELECT * 
FROM OPENROWSET(
               ''SQLNCLI'',
               ''DRIVER={SQL Server};'',
               ''EXEC dbo.usp_SO @ID =' + convert(varchar(10),@ID) + ''')'

-- Print @sql
 Exec(@sql)