概述
思路:
1、在需要遍历的表中添加一个临时字段flag初始值设为0;
2、获取总行数,作为循环上线;
3、使用top 1 与where flag = 0来取的表中第一行数据flag等于0 的数据行;
4、操作完成后设相应行flag = 1 ;
5、循环操作;
6、结束循环。
贴段代码:
select * into Sheet20120707 from dbo.Sheet1$
drop table Sheet20120707
alter table dbo.Sheet1$
add flag int default 0 with values
--批量实现实习生转正信息更改
--定义变量
declare @i int,@count int,@sourceTable nvarchar(100),@targetTable nvarchar(100)
declare @currentValue nvarchar(100),@zs_email nvarchar(100)
--获取需要修改的人数
select @count = COUNT(*) from Sheet1$
--遍历需要修改的实习生信息
while @count > 0
begin
--获取正式员工编号和正式员工邮件地址
select top 1 @currentValue = 正式员工编号,@zs_email = 正式员工邮件地址
from dbo.Sheet1$ where flag = 0 --flag是用来实现遍历的关键列
if @currentValue is not null --判断是否有符合条件的信息,没有则直接执行下次循环
begin
update dbo.Sheet20120707
set 实习生编号 = @currentValue,实习生邮件地址 = @zs_email
where 正式员工编号 = @currentValue
update Sheet1$
set flag = 1
where 正式员工编号 = @currentValue
end
set @count = @count -1
end
最后
以上就是怕黑指甲油为你收集整理的sql遍历查询结果的全部内容,希望文章能够帮你解决sql遍历查询结果所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复