zoukankan      html  css  js  c++  java
  • Oracle学习(九)存过、游标、RECORD整合

    一、代码

    /*1.定义存过*/
    CREATE OR REPLACE 
    PROCEDURE PRO_RE_USER_ORD_GOODS(
    --NOW_DATE格式:YYYYMMDD 如:20190801(此时统计的是2019年7月31日的数据)
    NOW_DATE IN VARCHAR2
    ) 
    IS
    
        /*2.定义变量 START*/
        --定义RECORD型记录类型;
        TYPE T_RECORD IS RECORD (
            GOODS_CODE VARCHAR2 (64),
            GOODS_NAME VARCHAR2 (64)
        ) ; 
        --定义返回结果集接收的变量,类型为T_RECORD;
      PS:这里也可以不用record,直接指定V_ROWRESUT为%rowtype类型
    V_ROWRESUT T_RECORD ; --定义主键 PID VARCHAR2 (256) ; /*2.定义变量 end*/ /*3.定义游标,执行查询结果集操作 START*/ CURSOR CUR_RE_USER_ORD_GOODS IS --查询语句开始 SELECT A .GOODS_CODE, B.GOODS_NAME FROM ( SELECT ORD.GOODS_CODE FROM ORDER_INFO ORD GROUP BY ORD.GOODS_CODE ) A LEFT JOIN GOODS_INFO B ON A .GOODS_CODE = B.GOODS_CODE ; --查询语句结束 /*3.定义游标,执行查询结果集操作 END*/ /*4.打开并循环游标,进行数据操作 START*/ BEGIN OPEN CUR_RE_USER_ORD_GOODS; --打开游标; LOOP --开始执行循环,遍历查询结果集表; FETCH CUR_RE_USER_ORD_GOODS INTO V_ROWRESUT; --循环游标并赋值给结构体变量; EXIT WHEN CUR_RE_USER_ORD_GOODS %NOTFOUND; --如果游标遍历完成,就退出循环; --获取 UUID 并赋值给 PID 变量; SELECT SYS_GUID() INTO PID FROM DUAL; --插入“订购商品记录表” 开始 INSERT INTO RE_USER_ORD_GOODS ( ID, GOODS_CODE, GOODS_NAME, CREATE_TIME )VALUES( PID, V_ROWRESUT.GOODS_CODE, V_ROWRESUT.GOODS_NAME, SYSDATE ); --插入“订购商品记录表” 结束 END LOOP; --结束循环; CLOSE CUR_RE_USER_ORD_GOODS; --关闭游标; COMMIT; --提交 INSERT 操作; END; /*4.打开并循环游标,进行数据操作 END*/

    oracle存储过程中is和as区别

    • 在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别;
    • 在视图(VIEW)中只能用AS不能用IS;
    • 在游标(CURSOR)中只能用IS不能用AS。

    声明变量的方式

    • v_temp     varchar(10)
    • v_temp     tablename.property%type(表名属性名%type,指的是一个表中某个字段的类型,这样可以灵活使用)
    • v_stu    student%rowtype;(这种类型就是定义一个变量,这个变量的类型为一个表数据的行类型,用于接收查询的一整行数据

    赋值方式

    • :=
  • 相关阅读:
    Power BI for Office 365(八)共享查询
    Power BI for Office 365(七) Power BI站点
    Power BI for Office 365(六)Power Map简介
    Power BI for Office 365(五)Power View第二部分
    Power BI for Office 365(四)Power View第一部分
    Power BI for Office 365(三)Power Pivot
    Power BI for Office 365(二)Power Query
    java 继承、重载、重写与多态
    Android 热修复方案Tinker(一) Application改造
    阿里最新热修复Sophix与QQ超级补丁和Tinker的实现与总结
  • 原文地址:https://www.cnblogs.com/riches/p/11341383.html
Copyright © 2011-2022 走看看