您的位置:首页 > 其它

存储过程循环table中的数据

2010-09-08 19:04 148 查看
create procedure Proc_SelBranchName ----创建存储过程

As
create table #bumenlingshi( ----创建临时表
bumenvalue varchar(100), ----部门
lanmuvalue varchar(100) ----栏目
)

declare cur_id cursor for select id from dbo.reneinfo order by branch,cotegroup --定义游标[cur_id]指为dbo.reneinfo 表的id

open cur_id --打开游标
declare @branch varchar(50) ---定义变量部门
declare @groupName varchar(50) ---定义变量栏目
declare @index int ----循环索引
declare @result int ----table总行数
declare @i int ----循环变量
declare @duibi varchar(50)
select @result=count(*) from reneinfo ---获得总行数
set @i=1 ----初始化循环变量

while(@i<=@result) ----执行循环
begin

fetch NEXT from cur_id into @index ----将游标中的值赋给变量@index

set select @branch= branch from reneinfo where id=@index -----id=游标中的值相当于每次循环都拿到不同的id
set select @groupName=cotegroup from reneinfo where branch=@branch and id=@index group by cotegroup

insert into #bumenlingshi values(@bumenstr,@lanmustr) ------将查出来的字段添加到临时表中

set @i=@i+1 ----循环索引加1

end
close cur_id --关闭游标
DEALLOCATE cur_id --删除游标
select * from #bumenlingshi ---查询临时表中的数据

exec Proc_SelBranchName ---调用存储过程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: