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;  
  • 相关阅读:
    AWK只打印某个域后的所有域
    Apache配置文件httpd.conf内容翻译
    DOM事件类型详解
    DOM中的事件处理概览与原理的全面剖析
    JavaScript实战(带收放动画效果的导航菜单)
    (转)高性能JavaScript:加载和运行(动态加载JS代码)
    (转)网页性能管理详解
    (转)JavaScript-性能优化之函数节流(throttle)与函数去抖(debounce)
    你真的知道setTimeout是如何运行的吗
    用原生JS读写CSS样式的方法总结
  • 原文地址:https://www.cnblogs.com/jkzr/p/10238889.html
Copyright © 2011-2022 走看看