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

Erhalten Sie einen Fehler beim Ausführen eines dynamischen SQL innerhalb einer Funktion (SQL Server)?

Sie können weder dynamisches SQL aus einer Funktion verwenden, noch können Sie gespeicherte Prozeduren aufrufen.

Create proc GetPrePopValue(@paramterValue nvarchar(100))
as
begin
declare @value nvarchar(500),
        @SQLString nvarchar(4000)

Set @SQLString = 'Select @value = Grant_Nr From Grant_Master where grant_id = @paramterValue'

exec sp_executesql @SQLString, N'@paramterValue nvarchar(100)', 
       @paramterValue, 
       @value = @value output

return @value   
end