• A better solution with no limits.

    Thanks to:

    http://2smart4school.com/tsql-stored-procedure-to-get-factorial-of-a-given-number/

    CREATE PROCEDURE Factorial (@num INT) AS

    BEGIN

    DECLARE @fact int, @query varchar(255)

    SET @fact = 1

    IF(@num = 0)

    BEGIN

    SET @fact = 1

    END

    ELSE

    BEGIN

    WHILE(@num >0)

    BEGIN

    SET @fact = @fact * @num

    SET @num = @num -1

    END

    END

    RETURN @fact

    END