美文网首页好程序员大数据
好程序员Java培训教程分享oracle中的游标类型

好程序员Java培训教程分享oracle中的游标类型

作者: ab6973df9221 | 来源:发表于2019-06-21 15:39 被阅读0次

    好程序员Java培训教程分享oracle中的游标类型,数据库中的游标(以下内容以Oracle为例):

    游标是sql的一个内存工作区,由系统或用户以变量的形式定义

    游标的作用就是用于临时存储从数据库中提取的数据块,通俗的讲游标就是一个结果集;

    游标的属性:

    %found:用于检测游标结果集是否存在数据,如果存在,则返回true;

    %notfound:用于检测游标结果集是否存在数据,如果不存在,则返回true;

    %isopen:用于检测游标是否打开,如果打开,则返回true;

    %rowcount:用于返回已提取的实际行数;例,当提取5行数据时关闭游标;

    常见游标分类:

    显式游标、隐式游标

    显式游标的定义步骤:

    声明游标 declare cursor cursor_name[(parameter_name datatype)] is select_statement

      cursor_name emp%rowtype;

    打开游标 open cursor_name

    提取数据 fetch cursor_name into variable1...

    循环提取:

    loop

        exit when cursor_name%notfound

    end loop;

    ----------------------------------或者

    while cursor_name%found loop

    end loop;

    关闭游标 close cursor_name

    隐式游标:由系统隐含创建的游标,主要用于非查询语句;隐式游标的名字为sql,这是由oracle系统定义的;系统会自动打开游标、提取数据、关闭游标等操作;

    主要应用于:DML操作和select...into...的单行查询语句;

    隐式游标的属性:通过sql游标名总是只能访问前一个DML操作或单行select操作的游标属性;

    sql%found:为true时,表示DML或单行SELECT操作成功

    sql%notfound

    sql%isopen:DML操作执行过程中,为true;结束为false;

    sql%rowcound:DML成功执行后的数据的行数;

    例:根据用户输入的员工号,更新指定员工的工资(+100);

    begin

    DML操作语句;

        if sql%found then

    执行语句并提交事务;

        else

    执行语句并回滚事务;

        end if;

    end;

    好程序员Java培训官网:http://www.goodprogrammer.org

    相关文章

      网友评论

        本文标题:好程序员Java培训教程分享oracle中的游标类型

        本文链接:https://www.haomeiwen.com/subject/kuoyqctx.html