代码改变世界

SQL Server 游标运用:游标模板

  听风吹雨  阅读(2128)  评论(1编辑  收藏  举报

一、 背景

  游标在我维护SQL Server的过程中经常被使用到,如果游标使用得好,在很多时候可以给予我们开发过程带来很多的便利,所以这里提供一个游标模板;

 

二、 游标模板

  在正式解决问题之前我先提供一个游标的模板,它简单的实现了找出数据库中所有的数据库名,其实这个模板的目的是为了提供一个规范化的游标SQL代码模板,下面SQL脚本实现了通过游标打印出用户数据库:

复制代码
-- =============================================
-- Author:      <听风吹雨>
-- Blog:        <http://gaizai.cnblogs.com/>
-- Create date: <2011/12/03>
-- Description: <游标模板>
-- =============================================
--定义变量
DECLARE @databaseName VARCHAR(100)
--定义游标
DECLARE @itemCur CURSOR
--设置游标从某个结果集中开始移动读取记录
SET @itemCur = CURSOR FOR
--返回用户数据库
    SELECT name FROM sys.databases 
        WHERE database_id > 4

OPEN @itemCur
--读取一条记录到变量中,注意上面的结果集有多少列就应该有多少个变量
FETCH NEXT FROM @itemCur INTO @databaseName
WHILE @@FETCH_STATUS=0
--业务逻辑处理开始
BEGIN
    --逻辑处理
    PRINT @databaseName
    
    --读取下一条记录
    FETCH NEXT FROM @itemCur INTO @databaseName
END 
--业务逻辑处理结束

--关闭游标
CLOSE @itemCur
--释放游标
DEALLOCATE @itemCur
复制代码

下图是执行上面SQL脚本返回的结果:

wps_clip_image-24226

(Figure1:游标模板返回数据库名)

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示