Suis-je en train de bien faire ...?
J'ai une fonction qui rapporte de l'argent ...
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
Je me demande simplement si cela peut être converti en iTVF?
J'ai essayé de faire ça mais j'ai une erreur:
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
ERREUR:
Msg 4606, niveau 16, état 1, ligne 2 Privilège accordé ou révoqué EXECUTE n'est pas compatible avec l'objet.
Cette fonction est utilisée comme ceci:
update table_name set interest = functionName(col1,col2...) where...
Merci d'avance!