zoukankan      html  css  js  c++  java
  • 和我一起恶补pl/sql(第三讲)

    隔了好多天才写第三篇,主要是对游标的探讨

    游标:作用:遍历一个查询结果,是对查询结果的一种标记,可以对结果进行操作或者选择行输出,简单地说:游标就是你对一个已经查询的结果做一次for循环,从第一条读到最后一条,行话叫遍历。

    oracle游标是pl/sql的重要组成部分,在pl/sql中,当查询结果超过一行时的,就需要用到游标,游标是sql的一个内存工作区,由系统或用户已变量形式定义,作用是用于临时存储从数据库中提取的数据块。在某些时候,需要把数据从存放在磁盘的表中调用到计算机内存中进行处理,否则频繁的磁盘数据交换会降低效率。

    游标有两种类型:显式游标或隐式游标,比如select ...into...查询语句,一次只能从数据库提取一行数据,对于这种形式的查询和dwl操作,系统会使用一个隐式的游标。但是如果要是提取多行数据,就要程序员定义一个显式游标,并通过与游标有关的语句进行处理。显式游标对应一个返回结果为多行多列的select语句。游标一旦打开,数据就从数据库传送到游标变量中,然后应用程序再从游标变量中分解出需要的数据,并进行处理。

    语法规则学习:

    游标声明:

    cursor mycur(type number) is

        select empno,empcc from cus_emp where comno = type;

    游标打开:

    open mycur(100);

    读取游标:

    fetch mycur into varno,varprice;

    关闭游标:

    close mycur;

    游标的属性:

    %isopen ,%found ,%notfound ,%rowcount

    %isopen:判断是否打开

    %found:判断游标所在的行是否有效

    %rowcount:返回当前的位置为止游标读取的记录的行数

    游标的for循环:

    declare cursor c1 is

        select name,sal,dep from emp;

        ....

    begin

        for emp_re in c1 Loop

             ....

             sal_tol :=sal_tol+emp.sal;

        end loop

    end;

    open --fetch --close  可以用for循环代替,for循环会自动打开,关闭游标。

    好了游标基本就是这个样子了,相信还是很简单,但是很重要的内容,以后我还会讲过程的详细用法。

  • 相关阅读:
    web开发的性能准则(减少页面加载时间方面)
    HTTP
    HTTP -- 缓存
    新的博客地址
    mongodb 的命令操作(转)
    低调的css3属性font-size-adjust
    HTML5对表单的约束验证
    clientHeight , scrollHeight , offsetHeight之间的区别及兼容方案
    关于word-break和word-wrap的使用和区别
    MongoDB
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2092151.html
Copyright © 2011-2022 走看看