您的位置:首页 > 其它

存储过程学习(002)--循环插入数据

2014-02-20 14:39 232 查看
业务描述:

1:从员工表读取数据

2:再把读取的数据插入到测试表中(后续再用复杂点的逻辑)

注:主要是为学习如何如何循环处理这个数据集合,如果仅为了插入数据到测试表用insert into table select 这种方式更好。(insert into hr_tab_user(staffnumber,staffname,hrdeptcode,wz)
select oa_gws_staffno,oa_gws_hrname,oa_gws_hrdept1,'1' from dbo.OA_TAB_GWSTAFFS)

declare @staffno varchar(20)
declare @staffname varchar(20)
declare @dept varchar(20)
declare yb cursor for
select oa_gws_staffno,oa_gws_hrname,oa_gws_hrdept1 from dbo.OA_TAB_GWSTAFFS
open yb
fetch next from yb into @staffno,@staffname,@dept
while @@fetch_status=0
begin
insert into hr_tab_user(staffnumber,staffname,hrdeptcode,wz)
values(@staffno,@staffname,@dept,'1')
fetch next from yb into @staffno,@staffname,@dept
end
close yb
deallocate yb

资料:

@@fetch_status是MSSQL的一个全局变量
其值有以下三种,分别表示三种不同含义:【返回类型integer】
0 FETCH 语句成功
-1 FETCH 语句失败或此行不在结果集中
-2 被提取的行不存在
@@fetch_status值的改变是通过fetch next from实现的
“FETCH NEXT FROM Cursor”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: