zoukankan      html  css  js  c++  java
  • 游标

       游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。游标有两种类型:显式游标和隐式游标。

       1. 声明游标

         在DECLEAR部分按以下格式声明游标: 
         CURSOR 游标名[(参数1 数据类型[,参数2 数据类型...])] 
         IS SELECT语句; 
         参数是可选部分,所定义的参数可以出现在SELECT语句的WHERE子句中。如果定义了参数,则必须在打开游标时传递相应的实际参数。 
         SELECT语句是对表或视图的查询语句,甚至也可以是联合查询。可以带WHERE条件、ORDER BY或GROUP BY等子句,但不能使用INTO子句。

         实例:

    cursor c_name is (select namex from T_namex_j122);

       2. 打开游标 
         在可执行部分,按以下格式打开游标: 
         OPEN 游标名[(实际参数1[,实际参数2...])]; 

    open c_name;

       3. 提取数据 

         在可执行部分,按以下格式将游标工作区中的数据取到变量中。提取操作必须在打开游标之后进行。 
         FETCH 游标名 INTO 变量名1[,变量名2...]; 

    fetch c_name into mname;
    
    如果有多个变量的话就是:
    cursor emp_cursor is select ename,job from emp where empno=7788;   
    fetch emp_cursor into v_ename,v_job;

       4.关闭游标 
         CLOSE 游标名; 
         显式游标打开后,必须显式地关闭。游标一旦关闭,游标占用的资源就被释放,游标变成无效,必须重新打开才能使用。

    close c_name;

       5. 游标的属性   

         返回值类型   意义  

    %rowcount   整型  获得FETCH语句返回的数据行数   
    %found  布尔型 最近的FETCH语句返回一行数据则为真,否则为假   
    %notfound  布尔型 与%FOUND属性返回值相反   
    %isopen 布尔型 游标已经打开时值为真,否则为假  

         实例:

    fetch emp_cursor into v_ename;   
       exit when emp_cursor%notfound;  
  • 相关阅读:
    WRF WPS预处理
    CVS安装
    Linux窗口最小化消失,任务栏上无法找到的解决方法
    NCARG安装配置出现error while loading shared libraries: libg2c.so.0问题额解决办法
    Netcdf安装
    Embedding R-generated Interactive HTML pages in MS PowerPoint(转)
    The leaflet package for online mapping in R(转)
    Some 3D Graphics (rgl) for Classification with Splines and Logistic Regression (from The Elements of Statistical Learning)(转)
    What does a Bayes factor feel like?(转)
    Weka算法介绍
  • 原文地址:https://www.cnblogs.com/jkzr/p/10238889.html
Copyright © 2011-2022 走看看