Tôi tạo một hàm để thực thi SQL động và trả về một giá trị. Tôi nhận được "Chỉ có các hàm và một số thủ tục được lưu trữ mở rộng mới có thể được thực thi từ bên trong một hàm." như một lỗi.Nhận lỗi khi thực thi sql động trong một hàm (SQL Server)?
Chức năng:
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
Việc thực hiện:
Select dbo.fn_GetPrePopValue('10002618') from Questions Where QuestionID=114
và:
Select fn_GetPrePopValue('10002618') from Questions Where QuestionID=114
Sản phẩm chức năng được gọi là đúng hay là chức năng không chính xác?
Cảm ơn bạn Alexandria, rất biết ơn !!!!!!! – Chaka
BTW, để ngăn chặn SQL Injection sử dụng sp_executesql với tham số –