zoukankan      html  css  js  c++  java
  • Oracle游标cursor1基础和隐式游标

    --指向表行的指针,一次一行,一般向前移动 Resultset
    --游标永远代代表的是一行数据。
    /*
    使用步骤
    第一步:声明游标,就像是声明一个变量样。
            游标的关键字就是cursor.
            Declare
                --游标关键字在前面
                Cursor  myCusor is select * from someTable;
            Begin
                    //代码
            End;
    
     第二步:声明游标后并不能直接使用-打开游标
            Declare
                --游标关键字在前面
                Cursor  myCusor is select * from someTable;
            Begin
                    Open myCursor;    
            End;
    第三步:在遍历中,使用fetch遍历数据
            Declare
                --游标关键字在前面
                Cursor  myCusor is select * from someTable;
            Begin
                    Open myCursor;    
                    Loop
                        Fetch myCusor into 你声明的变量;
                        --加上一个判断,是否到了行了最后
                        Exit when myCursor%notfound;
                    End loop;
            End;
    第四步:关闭游标
            Declare
                --游标关键字在前面
                Cursor  myCusor is select * from someTable;
            Begin
                    Open myCursor;    
                    Loop
                        Fetch myCusor into 你声明的变量;
                        --加上一个判断,是否到了行了最后
                        Exit when myCursor%notfound;
                    End loop;
                    Close myCursor; - oracle默认情况下,最多只可以开15个游标。
            End;
    
    */
    
    /*
    游标的分类
    声明方式:
    隐式游标
            所有你在执行sql(CRUD)语句时,oracle都会默认的给你打开一个游标。
            游标名称叫SQL
                它包含以下属性:
                   ROWCOUNT – 这个查询或是修改的记录的数量。
                   Notfound没有发行现
                    
    显式游标
                是指用户在declare中显式声明的游标。
        动态的游标
    */
    --隐式的游标
    select * from EMP1;
    /*
    30
    30
    39
    200*/
    declare
    v_count int;
    v_found boolean;
    begin
    DELETE from emp1 where age=30;
    --获取行号
    v_count:=sql%rowcount;
    if not sql%isopen then
    SYS.DBMS_OUTPUT.PUT_LINE('xxxx数');
    end if;
    DBMS_OUTPUT.PUT_LINE('影响行数'||v_count);
    end;
    /*
    匿名块已完成
    xxxx数
    影响行数2
    */
  • 相关阅读:
    第二章 算法基础 思考题2-4(逆序对)
    JSF中使用f:ajax标签无刷新页面改变数据
    JSF在ui:include中传递参数到对应控制层
    JSF通过超链接传递参数到控制层
    给JavaScript文件传入参数的几种方法
    Spring 与 @Resource注解
    GWT嵌入纯HTML页面
    一个分类,两个问题之ArrayList
    GWT更改元素样式属性
    Hello 2019 D 素因子贡献法计算期望 + 概率dp + 滚动数组
  • 原文地址:https://www.cnblogs.com/xiaweifeng/p/3681434.html
Copyright © 2011-2022 走看看