zoukankan      html  css  js  c++  java
  • REF CURSOR和CURSOR

    REF CURSOR

    DECLARE
        TYPE TY_EMP_CUR IS REF CURSOR;
        V_Emp_Cur              TY_EMP_CUR;
        V_Id                           EMP.ID%TYPE;
    BEGIN
        OPEN  V_Emp_Cur   FOR    SELECT ID FROM EMP;      --REF CURSOR的SELECT语句赋值位置,可以在逻辑模块中再次更改
        FETCH  V_Emp_Cur  INTO  V_Id;                                     --FETCH的作用的读取当前指针并移动到下一个指针目标
        WHILE  V_Emp_Cur%FOUND  LOOP
            DBMS_OUTPUT.PUT_LINE(V_Id);
            FETCH  V_Emp_Cur  INTO  V_Id;
        END LOOP;
    EXCEPTION
        WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE('Other exceptions');
            CONTINUE;
    END;

    CURSOR

    DECLARE
        CURSOR V_Emp_Cur IS SELECT ID FROM EMP;           --传统CURSOR的SELECT语句赋值位置,后期不可更改
        V_Id                              EMP.ID%TYPE;
    BEGIN
        OPEN  V_Emp_Cur;
        FETCH  V_Emp_Cur  INTO  V_Id;                                     --FETCH的作用的读取当前指针并移动到下一个指针目标
        WHILE  V_Emp_Cur%FOUND  LOOP
            DBMS_OUTPUT.PUT_LINE(V_Id);
            FETCH  V_Emp_Cur  INTO  V_Id;
        END LOOP;
    EXCEPTION
        WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE('Other exceptions');
            CONTINUE;
    END;

    总结:REF CURSOR和传统的CURSOR相比,传统的CURSOR只能在定义模块中给予该CURSOR相应的SELECT语句去完成定义,且不能后期在逻辑模块再次进行改变,用途很局限,除非SELECT语句不会变化;而REF CURSOR更像是定义一种类型,在定义模块中定义完TYPE和此TYPEVARIABLE,在逻辑模块中去给予SELECT语句,相当于赋值变量,用法灵活,更方便遍历、绑定变量等实际中应用比较多的操作。

  • 相关阅读:
    attention 介绍
    卷积神经网络中的channel 和filter
    滤波和卷积
    最容易理解的对卷积(convolution)的解释
    随机梯度下降
    optimizer
    一个深度学习的例子
    Batch_Size 详解
    softmax函数详解
    Must Know Tips/Tricks in Deep Neural Networks
  • 原文地址:https://www.cnblogs.com/JeromeZ/p/5337736.html
Copyright © 2011-2022 走看看