Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come eseguo il testo sql passato come parametro sp?

Usa:

BEGIN

  EXEC sp_executesql @nvarchar_parameter

END

...supponendo che il parametro sia un'intera query SQL. In caso contrario:

DECLARE @SQL NVARCHAR(4000)
SET @SQL = 'SELECT ...' + @nvarchar_parameter

BEGIN

  EXEC sp_executesql @SQL

END

Tieni presente gli Attacchi SQL Injection , e consiglio vivamente di leggere La maledizione e la benedizione di Dynamic SQL .