Я создаю функцию для выполнения динамического SQL и возвращаю значение. Я получаю «Только функции, а некоторые расширенные хранимые процедуры могут выполняться изнутри функции». как ошибка.Ошибка при выполнении динамического sql внутри функции (SQL Server)?
Функция:
Create Function fn_GetPrePopValue(@paramterValue nvarchar(100))
returns int as
begin
declare @value nvarchar(500);
Set @SQLString = 'Select Grant_Nr From Grant_Master where grant_id=' + @paramterValue
exec sp_executesql
@query = @SQLString,
@value = @value output
return @value
end
Исполнение:
Select dbo.fn_GetPrePopValue('10002618') from Questions Where QuestionID=114
и:
Select fn_GetPrePopValue('10002618') from Questions Where QuestionID=114
ли функция вызывается правильно или функция неправильно?
Спасибо Александрии, очень благодарен !!!!!!! – Chaka
BTW, для предотвращения использования SQL-инъекций sp_executesql с параметрами –