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

 

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是释放游标,这个时候游标已经不存在,如果我们需要使用游标,就不许重新声明一次

时间: 2024-10-26 02:57:49

mssql 打开游标 关闭游标 删除游标的相关文章

sqlserver游标使用步骤示例(创建游标 关闭游标)_MsSql

游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集.在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据. 使用游标 使用游标的步骤: 在使用游标前,必须声明(定义)它.这个过程实际上没有检索数据,它只是定义要使用的SELECT语句和游标选项.一旦声明,就必须打开游标以供使用.这个过程用前面定义的SELECT语句把数据实际检索出来.对于填有数据的游标,根据需要取出(检索)各行.在结束游标使用时,必须关闭游标,可能的话,释放

mssql方便的函数使用与游标使用练习

    结果:     新建函数: GO /****** 对象: UserDefinedFunction [dbo].[fun_get_class_nam] 脚本日期: 07/28/2012 07:26:23 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /***************************************************** ** PROCEDURE : fun_get_class_nam

sqlserver游标使用步骤示例(创建游标 关闭游标)

游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集.在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据. 使用游标 使用游标的步骤: 在使用游标前,必须声明(定义)它.这个过程实际上没有检索数据,它只是定义要使用的SELECT语句和游标选项.一旦声明,就必须打开游标以供使用.这个过程用前面定义的SELECT语句把数据实际检索出来.对于填有数据的游标,根据需要取出(检索)各行.在结束游标使用时,必须关闭游标,可能的话,释放

MS SQL基础教程:定位修改删除游标

通常情况下我们用游标来从基础表中检索数据,以实现对数据的行处理.但在某些情况下,我们也常要修改游标中的数据,即进行定位更新或删除游标所包含的数据.所以必须执行另外的更新或删除命令,并在WHERE 子句中重新给定条件才能修改到该行数据.但是如果在声明游标时使用了FOR UPDATE 语句,那么就可以在UPDATE 或DELETE命令中以WHERE CURRENT OF 关键字直接修改或删除当前游标中所存储的数据,而不必使用WHERE 子句重新给出指定条件.当改变游标中数据时,这种变化会自动地影响到

Oracle显示游标的使用及游标for循环_oracle

下面给大家介绍在什么情况下用隐式游标,什么情况下用显示游标: 1.查询返回单行记录时→隐式游标: 2.查询返回多行记录并逐行进行处理时→显式游标 --显示游标属性 declare CURSOR cur_emp IS SELECT * FROM emp; row_emp cur_emp%ROWTYPE; BEGIN OPEN cur_emp; FETCH cur_emp INTO row_emp; WHILE cur_emp%FOUND LOOP dbms_output.put_line(row_

Oracle游标共享(Cursor Sharing)--常规游标共享和自适应游标共享(ACS)

Oracle游标共享(Cursor Sharing)--常规游标共享和自适应游标共享(ACS) 游标共享(Cursor Sharing)是指Shared Cursor间的共享,其实就是重用存储在Child Cursor中的解析树和执行计划而不用从头开始做硬解析的动作.特别对于除SQL文本中对应的输入值不同外,其它部分都一模一样的目标SQL更应该实现游标共享,而使用绑定变量就可以实现游标共享. 很多OLTP类型的应用系统的开发人员在开发阶段并未意识到硬解析的危害,所以也没有使用绑定变量,等到系统上

Win7系统qqexternal.exe进程是否可以关闭或删除?

Win7系统qqexternal.exe进程是否可以关闭或删除?   我们注意看上面第二张图中笔者用红色标注的部分,首先是数字签证的验证显示是腾讯科技(深圳)有限公司,最后比较重要的一点:QQExternal.exe进程父层栏显示的是QQ.exe,中间显示的是这个进程程序所在的位置: D:\Program Files\Tencent\QQ\Bin\QQExternal.exe(D:为QQ安装所在分区盘符) 在功能上QQExternal.exe进程会更具版本的不同而有所不同,但大致上基本都是起到用

在Word 2010窗口中打开和关闭“审阅”功能区选项卡

用户可以根据实际工作需要打开和关闭Word 2010中的功能区选项卡,从而自 定义Word 2010的工作界面.同时,如果遇到功能区选项卡不显示的情况,也可以 通过该方法解决.以打开和关闭"审阅"功能区选项卡为例,具体操 作步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件 "→"选项"命令,如图2011112901所示. 图 2011112901 选择"选项"命令 第2步,在打开的"Word选项

在Word 2010中打开和关闭实时预览功能

所谓实时预览就是指在Word 2010文档中,当鼠标悬停在不同功能选项上时,显示该功能的文档效果预览.例如在设置文本颜 色时,选中目标文字并将鼠标指针指向颜色选项,则Word文档将实时显示最终效果,鼠标指针离开以后将恢复原貌,如图 2011120201所示. 图2011120201 实 时预览效果 Word 2010默认启用了实时预览功能,在Word 2010中打开和关闭"实时预览"功能的步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件"→&q