sqlserver数据库中cursor游标如何使用?

 时间:2026-02-16 07:32:34

1、创建一张测试表,用于演示sqlserver游标的使用

create table tblCursor(

    Id uniqueidentifier,

    EmpCode varchar(50),

    EmpName varchar(50),

    EmpAddress varchar(200)

);

sqlserver数据库中cursor游标如何使用?

2、往测试表中插入几行测试数据

insert into tblCursor(Id, EmpCode, EmpName, EmpAddress) values(NEWID(), 'Emp001', '张三', '北京');

insert into tblCursor(Id, EmpCode, EmpName, EmpAddress) values(NEWID(), 'Emp002', '李四', '上海');

insert into tblCursor(Id, EmpCode, EmpName, EmpAddress) values(NEWID(), 'Emp003', '王五', '深圳');

insert into tblCursor(Id, EmpCode, EmpName, EmpAddress) values(NEWID(), 'Emp004', '赵六', '广州');

sqlserver数据库中cursor游标如何使用?

3、查询测试表中的数据

select * from tblCursor;

sqlserver数据库中cursor游标如何使用?

4、定义游标,格式如下,截图中有颜色的字都是sqlserver的关键字

declare curEmployee cursor for

select empcode, empname, empaddress from tblCursor

sqlserver数据库中cursor游标如何使用?

5、定义游标之后,需要打开游标,才能开始操作,打开游标使用下面的语法

-- curEmployee 就是上一步定义的游标名称

open curEmployee

sqlserver数据库中cursor游标如何使用?

6、当 全局变量@@FETCH_STATUS = -1,表示当前没有游标在处理数据

select @@FETCH_STATUS

sqlserver数据库中cursor游标如何使用?

7、使用游标,循环输出第一步创建表的数据完整代码如下:

  -- 定义临时标量,用于接收游标的数据内容

declare @EmpCode varchar(50), @EmpName varchar(50), @EmpAddress varchar(200);

  -- 定义游标

declare curEmployee cursor for

select empcode, empname, empaddress from tblCursor

  -- 打开游标

open curEmployee

  -- 请注意:游标返回的字段个数、类型都需要与into后面的变量一致

fetch curEmployee into @EmpCode, @EmpName, @EmpAddress

  -- 当游标循环结束之后 @@FETCH_STATUS = -1,当还有下一行数据的时候,@@FETCH_STATUS = 0

while @@FETCH_STATUS = 0

begin

select @EmpCode, @EmpName, @EmpAddress

fetch curEmployee into @EmpCode, @EmpName, @EmpAddress

end

  -- 关闭游标 

close curEmployee

  -- 删除游标

deallocate curEmployee

sqlserver数据库中cursor游标如何使用?

  • 眉毛的种类图片
  • 嘴巴嘟嘟歌词含义是什么意思
  • 杀虫剂杀虫是什么原理
  • 耳鸣跟耳聋!
  • 培训宝参加考试怎么操作
  • 热门搜索
    旅游活动策划书 逸行旅游网 平遥旅游网 锦江国际旅游 旅游观光电瓶车 黄山旅游注意事项 江苏旅游景点推荐 济南旅游指南 大通旅游官网 厦门旅游包车