ho trovato questo esempio molto esplicativo relativo a SQL Server 2005:
codice:
CREATE FUNCTION
SumOfNumbers(@first int, @last int)
RETURNS int
AS BEGIN
DECLARE @sum int;
WITH SumOfNumbers3([sum], first, last)
AS (SELECT 0, @first, @last //inizializzazione
UNION ALL
SELECT [sum] + first, first + 1, last //chiamata ricorsiva
FROM SumOfNumbers3 WHERE first <= last )
SELECT @sum = [sum]
FROM SumOfNumbers3 WHERE first = @last + 1
OPTION (MAXRECURSION 500)
RETURN @sum
END
L'intero articolo lo trovi qui:
http://www.theserverside.net/tt/arti...rsiveFunctions