用一个SQL 2000 的存储过程完成1~100内所有质数的和

来源:百度知道 编辑:UC知道 时间:2024/09/22 12:53:12
求高手解答下~~

不写太多了,就把基本实现写出来吧
ALTER proc [dbo].[testz]
as
declare @i int
declare @j int
declare @sql varchar(200)

drop table a
create table a
(ID int,
Number int)

select @i=1
while @i<=100--此处设置为100以内
begin
exec('insert a(id,Number) values('+@i+','+@i+')')
select @i=@i+1
end
deallocate rs
declare rs cursor for
select id,number from a for update
open rs
fetch next from rs into @i,@j
while @@fetch_status=0
begin
if @j!=1 and @j!=0
begin
select @sql='update a set Number=0 where Number%'+cast(@j as varchar)+'=0 and Number!='+cast(@j as varchar)
exec(@sql)
end
fetch next from rs into @i,@j
end
close rs
select * from a where number!=0 --返回设定值以内质数
select sum(number) from a --返回质数和