Tôi làm đúng không...?
Tôi có một chức năng trả lại tiền ...
CREATE FUNCTION functionName( @a_principal money, @a_from_date
datetime, @a_to_date datetime, @a_rate float ) RETURNS money AS BEGIN
DECLARE @v_dint money set @v_dint = computation_here
set @v_dint = round(@v_dint, 2)
RETURN @v_dint
END
GO
Grant execute on functionName to another_user
Go
Tôi chỉ tự hỏi nếu điều này là có thể được chuyển đổi sang iTVF?
Tôi đã thử làm điều này nhưng tôi đã gặp một lỗi:
CREATE FUNCTION functionName ( @a_principal money, @a_from_date
datetime, @a_to_date datetime, @a_rate float )
RETURNS TABLE AS
RETURN SELECT returnMoney = computation_here
GO
Grant execute on functionName to another_user Go
LỖI:
Msg 4606, Cấp 16, Trạng thái 1, Dòng 2 Cấp đặc quyền được cấp hoặc thu hồi EXECUTE không tương thích với đối tượng.
Hàm này được sử dụng như thế này:
update table_name set interest = functionName(col1,col2...) where...
Cảm ơn trước!