我創建一個函數來執行動態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 2013-03-02 23:33:21
BTW,用於防止SQL注入使用帶參數的sp_executesql – 2013-03-02 23:37:38