zoukankan      html  css  js  c++  java
  • Oracle游标动态赋值

    1. oracle游标动态赋值的小例子

    -- 实现1:动态给游标赋值
    -- 实现2:游标用表的rowtype声明,但数据却只配置表一行的某些字段时,遍历游标时需fetch into到精确字段
    CREATE OR REPLACE PROCEDURE proc_cursor1(
    -- 参数区域
    )
    is
    --变量区域
        -- 定义一个游标集类型
        type cur_type is ref cursor;
        -- 定义一个游标
        cur_student cur_type;
        -- 遍历游标时使用,此处类型匹配了student的一行数据
        stu_id student%rowtype;
        -- sql脚本
        v_sql varchar2(2000) :='';
    begin
    --执行区域
        v_sql := 'select id from student'; -- 查询的时候,并没有查询student一行的所有数据
        open cur_student for v_sql; --此处动态给游标赋值
        loop 
          fetch cur_student into stu_id.id; -- 游标的一行数据,只匹配student的某个字段时,要fetch into到精确字段
          exit when cur_student%notfound;
          update student t set t.age = (t.age+1) where t.id = stu_id.id;
        end loop;
    end proc_cursor1;
    /

    2. oracle游标最常用的使用方法

    -- oracle游标最常用的使用方法
    CREATE OR REPLACE PROCEDURE proc_cursor2(
    -- 参数区域
    )
    is
    --变量区域
        -- 声明游标并赋值
        Cursor cur_stu is select id from student;
    begin
    --执行区域
        for this_val in cur_stu LOOP
            begin
                update student t set t.age = (t.age+1) where t.id = this_val.id;
            end;
        end LOOP;
    end proc_cursor2;
    /
  • 相关阅读:
    【转】深入分析事务的隔离级别
    gluoncv 用已经训练好的模型参数,检测物体
    gluoncv 目标检测,训练自己的数据集
    SMB linux&windows共享文件
    VOC 数据集
    yaml 配置文件
    SSD 单发多框检测
    目标检测数据集(皮卡丘)
    zip 函数
    输出预测边界框,NMS非极大值抑制
  • 原文地址:https://www.cnblogs.com/zj0208/p/6087980.html
Copyright © 2011-2022 走看看