• 和我一起恶补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循环会自动打开,关闭游标。

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

  • 相关阅读:
    如何禁用 Azure 虚拟机的日期时间同步
    Java 如何启用 ARM 虚拟机诊断
    File类的源码学习
    Trie树学习
    Hadoop自带Sort例子分析
    java.io.IOException: Illegal partition for 67 (-1)
    Java IO、网络编程、NIO、Netty、Hessian、RPC、RMI的学习路线
    MapReduce中的排序(附代码)
    CAP理论学习
    Harvard数据库课程CS 265: Research Topics in Database Systems
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2092151.html
Copyright © 2020-2023  润新知