TSQL编写存储过程计算1!+2!+3!+…+N!

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TSQL编写存储过程计算1!+2!+3!+…+N!相关的知识,希望对你有一定的参考价值。

编写存储过程如下;两层循环;内层计算阶乘,外层相加;

create procedure sp_getfact @n int
as
declare @i int,@j int,@val int,@sval int
set @i=1
set @val=0
while @i<=@n
    begin
        set @j=@i
        set @sval=1
        while @j>1
        begin
            set @sval=@sval*@j
            set @j=@j-1
        end
        set @val=@val+@sval
        set @i=@i+1
    end
return @val
go

 @n为输入参数;

存储过程创建成功以后;执行一下;先输入一个参数3;

看一下结果,9; 1 + 2 + 3*2*1 = 9;

然后用语句来执行;结果33;

declare @myfact int
exec @myfact = sp_getfact @n=4
SELECT	'结果:' = @myfact

 1+2+6+4*3*2*1 = 9 + 24 = 33;    没错;

以上是关于TSQL编写存储过程计算1!+2!+3!+…+N!的主要内容,如果未能解决你的问题,请参考以下文章

表连接Tsql基本编程和存储过程

TSQL:有没有办法限制返回的行并计算在没有限制的情况下返回的总数(不将其添加到每一行)?

TSQL - 替换 isnumeric = 0

oracle PL/SQL高级编程

tsql 执行存储过程

TSQL NOLOCK VIEW 和存储过程