動的 SQL を実行して値を返す関数を作成します。「関数内から実行できるのは、関数と一部の拡張ストアド プロシージャのみです」というメッセージが表示されます。エラーとして。
関数:
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
関数は正しく呼び出されていますか、それとも関数が間違っていますか?