首页 > 数据库 >SqlServer中使用游标遍历数据集合

SqlServer中使用游标遍历数据集合

时间:2024-01-29 15:48:09浏览次数:51  
标签:遍历 Name -- Age SqlServer 游标 User FETCH

具体代码如下所示:

/*****************************************
	实例:打印输出数据表BUS_Test中的Name和Age字段的值
*****************************************/

--声明遍历@Name和@Age
DECLARE @Name NVARCHAR(50),@Age INT

--声明游标C_User
DECLARE C_User CURSOR FAST_FORWARD FOR
	--需要循环的数据集合
	SELECT Name,Age FROM dbo.BUS_Test WHERE CreateTime>'2019-11-11 10:29:57.890'

--打开游标
OPEN C_User

--获取第一条记录
FETCH NEXT FROM C_User INTO @Name,@Age

--判断FETCH执行的结果@@FETCH_STATUS(0:执行成功、-1:语句失败或此行不在结果集中、-2:被提取的行不存在)
WHILE @@FETCH_STATUS=0
	BEGIN
		--打印输出Name和Age字段的值,实际场景中修改为自己的逻辑,比如修改操作等
		PRINT '姓名:'+@Name+',年龄:'+CAST(@Age AS NVARCHAR(10))

		--获取下一条记录
		FETCH NEXT FROM C_User INTO @Name,@Age
	END

--关闭游标
CLOSE C_User

--释放游标
DEALLOCATE C_User

原始数据表集合:

image

游标遍历输出结果:

image

标签:遍历,Name,--,Age,SqlServer,游标,User,FETCH
From: https://www.cnblogs.com/qubernet/p/17994646

相关文章

  • SqlServer性能检测之Sql语句排查
    很多时候,我们在用SQL语句查询数据时,难免会漏掉对SQL语句性能的考虑,所以有时就会造成SqlServer服务占用过高的问题,为了大致排查是哪些SQL语句造成的问题,我们可以通过如下SQL查询出最近所有耗时最大的SQL语句,具体查询SQL语句如下所示:SELECTs2.dbid,s1.sql_handle,......
  • SqlServer还原数据库出现“无法在服务器上访问指定的路径或文件”提示的解决办法
    1、......
  • DBeaver连接SqlServer报“The server selected protocol version TLS10 is not accept
    1、......
  • SQLServer和Oracle常用函数对比
      1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:select flo......
  • [转帖]父游标、子游标及共享游标
    https://www.cnblogs.com/roucheng/p/oracleyoubiao.html 游标是数据库领域较为复杂的一个概念,因为游标包含了sharedcursor和sessioncursor。两者有其不同的概念,也有不同的表现形式。共享游标的概念易于与SQL语句中定义的游标相混淆。本文主要描述解析过程中的父游标,子游......
  • 图的表示与遍历
    讲解           代码 P5318【深基18.例3】查找文献 #include<bits/stdc++.h>usingnamespacestd;constintN=100010;vector<int>a[N];intn,m,x,y,vis[N];queue<int>q;voiddfs(ints){ if(vis[s]==1)return; vis[s]=......
  • golang 遍历目录的两种方式、删除目录的两种方式
    funcmain(){ directory:="/Users/mike/Downloads" //不会递归只会读取当前的单层目录 directories,err:=os.ReadDir(directory) iferr!=nil{ fmt.Println(err) } for_,d:=rangedirectories{ fmt.Println(d.Name(),d.IsDir()) } //会递归遍历所......
  • 树的遍历
    二叉树的遍历前序遍历#include<bits/stdc++.h>usingnamespacestd;intn;structs{ intl,r,d;}a[10005];voidf(intt)//前序{ if(t==0)return; cout<<t<<''; f(a[t].l); f(a[t].r);}intmain(){cin>>n;for(inti=1;i<......
  • SQLServer查询历史执行记录的方法实现
    1.使用SQLServerManagementStudio(SSMS)的查询执行记录功能:打开SSMS,连接到要查看执行记录的数据库服务器。在“对象资源管理器”窗格中,右键单击要查看执行记录的数据库,然后选择“报表”>“标准报表”>“执行记录”。在“执行记录”窗口中,选择要查看的时间范围和其他......
  • [转帖]Oracle中的游标、硬解析、软解析、软软解析、解析失败
    https://developer.aliyun.com/article/283561 一、  游标的分类及共享游标游标(Cursor)是Oracle数据库中SQL解析和执行的载体,它可以分为共享游标(SharedCursor)和会话游标(SessionCursor)。共享游标可以细分为父游标(ParentCursor)和子游标(ChildCursor),可以通过视图V$SQLAREA......