读书人

怎么修改该sql在存储过程中利用循

发布时间: 2013-01-08 14:02:13 作者: rapoo

如何修改该sql——在存储过程中利用循环来求和
我想要的是:在存储过程中利用循环来求0-50的和。
请问该存储过程应该如何修改?

CREATE PROCEDURE pro_Sum
@addend int
AS
BEGIN
Declare @sql nvarchar(225)
Declare @n int
Declare @Sum int
set @n=0
while @n<@addend
begin
set @sql='@sum=@Sum+@addend'
exec(@sql)
set @n=@n+1
end
END

execute pro_Sum 50;
[解决办法]
纯粹你的需求,这样就可以了:

SELECT  SUM(number)
FROM master..spt_values
WHERE number BETWEEN 0 AND 50
AND type = 'p'

[解决办法]

create PROCEDURE pro_Sum @addend INT
AS
BEGIN
DECLARE @sql NVARCHAR(225)
DECLARE @n INT
DECLARE @Sum INT
SET @n = 0
SET @Sum=0
WHILE @n < @addend
BEGIN
SET @Sum=@Sum+@n
SET @n = @n + 1
END

PRINT @Sum
PRINT @n
SELECT @Sum
END
go

EXEC pro_Sum 50
/*1225*/


[解决办法]
DECLARE @i int,@Sum int
set @i=1
SET @Sum=0
WHILE @i<50
BEGIN
SET @Sum=@Sum+@n
SET @i= @i + 1

END
PRINT @Sum

读书人网 >SQL Server

热点推荐