zoukankan      html  css  js  c++  java
  • [SQL Server]游标示例

     --创建测试临时表
    IF(OBJECT_ID('tempdb..#Books') IS NOT NULL)
    BEGIN
                DROP TABLE #Books;
    END

    CREATE TABLE #Books
    (
               BookName NVARCHAR(20),
               BookCode NVARCHAR(20)
    )

    INSERT INTO #Books( BookName, BookCode ) VALUES(N'C# 本质论','JC556874');
    INSERT INTO #Books( BookName, BookCode ) VALUES(N'JS 本质论','JS556874');


    --申明一个游标
    DECLARE MyCursor CURSOR FOR
                        SELECT TOP 5 BookName,BookCode FROM #Books;

    --打开一个游标 
    OPEN MyCursor;

    DECLARE @BookName nvarchar(20);
    DECLARE @BookCode nvarchar(20);

    --循环一个游标
    FETCH NEXT FROM MyCursor INTO @BookName,@BookCode;
    WHILE(@@FETCH_STATUS = 0)
    BEGIN
                PRINT('Book Name: '+@BookName);
                FETCH NEXT FROM  MyCursor INTO @BookName,@BookCode;
    END 

    --关闭游标
    CLOSE MyCursor;
    --释放资源
    DEALLOCATE MyCursor;

    -------------------------------------------------------------------------------------------------------------------------------------

    @@FETCH_STATUS 是一个全局变量,其值有以下三种 :
    1)  0 FETCH 语句成功
    2) -1 FETCH 语句失败或此行不在结果集中
    3) -2 被提取的行不存在

  • 相关阅读:
    ORACLE错误笔记
    SQL-考试各科目的成绩以及各科目的参与考试次数
    MySql有几条更新sql不能执行时的解决方案
    面试中常遇到的算法面试题
    MySql绿色版安装教程
    Javaweb
    关于JavaWeb不使用框架上传文件的简单实现
    SSM框架
    数据库
    J2SE
  • 原文地址:https://www.cnblogs.com/abccome/p/3344584.html
Copyright © 2011-2022 走看看