ฉันทำถูกแล้ว ...
ฉันมีฟังก์ชั่นที่คืนเงิน ...
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
ฉันแค่สงสัยว่ามันเป็นไปได้ที่จะถูกแปลงเป็น iTVF หรือไม่?
ฉันพยายามทำสิ่งนี้ แต่ฉันพบข้อผิดพลาด:
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
ข้อผิดพลาด:
ข่าวสารเกี่ยวกับ 4606 ระดับ 16 สถานะ 1 สาย 2 สิทธิ์ที่ได้รับหรือเพิกถอน EXECUTE ไม่สามารถทำงานร่วมกับวัตถุได้
ฟังก์ชั่นนี้ใช้ดังนี้:
update table_name set interest = functionName(col1,col2...) where...
ขอบคุณล่วงหน้า!