龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Sql Server开发 >

mssql 打开游标 关闭游标 删除游标

时间:2013-01-03 18:08来源:未知 作者:admin 点击:
分享到:
本教程要来讲一下关于mssql server 的打开游标 关闭游标 删除游标以衣游标的应用实例 本教程要来讲一下关于mssql server 的打开游标 关闭游标 删除游标以衣游标的应用实例 declare @mergedat
本教程要来讲一下关于mssql server 的打开游标 关闭游标 删除游标以衣游标的应用实例

本教程要来讲一下关于mssql server 的打开游标 关闭游标 删除游标以衣游标的应用实例

 

declare @mergedate datetime
declare @masterid int
declare @duplicateid int

select @mergedate = getdate()


declare merge_cursor cursor fast_forward for select mastercustomerid, duplicatecustomerid from duplicatecustomers where ismerged = 0
--定义一个游标对象[merge_cursor]
--该游标中包含的为:[select mastercustomerid, duplicatecustomerid from duplicatecustomers where ismerged = 0 ]查询的结果.

open merge_cursor
--打开游标
fetch next from merge_cursor into @masterid, @duplicateid
--取数据到临时变量
while @@fetch_status = 0 --系统@@fetch_status = 0 时循环结束
--做循环处理
begin
exec mergeduplicatecustomers @masterid, @duplicateid

update duplicatecustomers
set
ismerged = 1,
mergedate = @mergedate
where
mastercustomerid = @masterid and
duplicatecustomerid = @duplicateid

fetch next from merge_cursor into @masterid, @duplicateid
--再次取值
end

close merge_cursor
--关闭游标
deallocate merge_cursor
--删除游标


讲解游标的技术实现
学习msqsql中的游标 我们需要先建立一张数据表,用以模拟数据:
创建数据表student,里面包含有4个列

create table student
(
id int identity(1,1) primary key,  --自动增长编号
name varchar(20) not null,         --姓名
age int not null,                  --年龄
address  varchar(100) not null,    --地址
)

使用游标有4个过程:声明游标、打开游标、提取数据、关闭游标。

declare pcurr cursor for  --声明一个名为pcurr游标
declare @customer nvarchar(50)
declare @age int


select name,age from student --这个查询结果非常重要,这个就是我们需要用游标读取的数据集

open pcurr  --打开游标
fetch next from pcurr into @customer,@age
while (@@fetch_status = 0) --判断游标是否读取完毕,读取完毕,这里将返回100而不是0
begin
print (@customer)
print  (@age)
fetch next from pcurr into @customer,@age --取值,由于我们全面的结果集返回返回的是2行记录,这里我们就需要2个自定义参数去取出结果集
close pcurr  --关闭游标
deallocate pcurr --释放游标

close 与 deallocate 的不同点:
close是关闭游标

,这个时候游标还是存在的,我们可以再次打开,deallocate是释放游标,这个时候游标已经不存在,如果我们需要使用游标,就不许重新声明一次


收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!

热评话题

按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接