Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utilisation d'une variable dans la requête OPENROWSET

Comme suggéré par Scott , vous ne pouvez pas utiliser d'expressions dans OPENROWSET .Essayez de créer un sql dynamique pour passer les paramètres

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)