SQL Server 游标运用:游标模板

一、 背景

  游标在我维护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:游标模板返回数据库名)

你可能感兴趣的:(SQL Server)