sportdog

导航

 

业务描述:

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”

 

posted on 2014-02-20 14:39  sportdog  阅读(227)  评论(0编辑  收藏  举报