• Oracle 函数 “申请通过后,将该表中循环遍历到的所有内容插到另一个表中”


     1 create or replace function mcode_apply_insert_material(p_mca_no       VARCHAR2,
     2                                                   p_action       VARCHAR2,
     3                                                   p_wf_node_code VARCHAR2)
     4 
     5        RETURN VARCHAR2 AS   -- 函数作用:当物料申请审核通过之后,将物料申请表中的数据插入到物料管理表中
     6 
     7        v_material_code  MCA_DETAIL.MATERIAL_CODE%TYPE;
     8        v_material_name  MCA_DETAIL.MATERIAL_NAME%TYPE;
     9        v_partner        MCA_DETAIL.PARTNER%TYPE;
    10        v_manufaturer    MCA_DETAIL.MANUFATURER%TYPE;
    11        v_specification  MCA_DETAIL.SPECIFICATION%TYPE;
    12        v_unit           MCA_DETAIL.UNIT%TYPE;
    13        v_remark         MCA_DETAIL.REMARK%TYPE;
    14     
    15 
    16        CURSOR get_final_supplies_data IS
    17               SELECT m.material_code,m.material_name,m.partner,m.manufaturer,m.specification,m.unit,m.remark
    18               FROM   MCA_DETAIL m
    19               WHERE  m.mca_no = p_mca_no;
    20 
    21 BEGIN
    22    IF p_action = '03' AND p_wf_node_code = 2 THEN -- 工作流 ,如果在2节点 审核通过“03”,执行下面语句
    23           OPEN get_final_supplies_data;
    24           LOOP     -- loop   exit when ...%notfound:遍历(循环)
    25           FETCH get_final_supplies_data INTO v_material_code,v_material_name,v_partner,v_manufaturer,v_specification,v_unit,v_remark;
    26           exit when get_final_supplies_data%notfound;    -- 当get_final_supplies_data遍历完后,退出循环,执行下面的语句
    27             -- material:物料管理表
    28             INSERT INTO material(material_code,partner,specification,material_name,unit_of_measurement,remark,manufaturer) 
    29             VALUES(v_material_code,v_partner,v_specification,v_material_name,v_unit,v_remark,v_manufaturer);
    30           
    31           END LOOP; -- 结束循环
    32           CLOSE get_final_supplies_data;
    33      
    34      END IF;
    35      
    36      RETURN '0';
    37      
    38 end mcode_apply_insert_material;

    注:如需测试该函数,请复制到Oracle数据库中,右击函数名“mcode_apply_insert_material”,选择“test” 进行测试,测试时记得把相应的表名及字段换成自己建立的

    原创作者:DSHORE

    出处:http://www.cnblogs.com/dshore123/

    欢迎转载,转载务必说明出处。(如果本文对你有用,可以点击一下右下角的 推荐,谢谢!

  • 相关阅读:
    pytorch实现rnn并且对mnist进行分类
    python中的list按照某一列进行排序的方法
    pytorch实现style transfer
    Pytorch基本变量类型FloatTensor与Variable
    Linux上统计文件夹下文件个数以及目录个数
    python调用caffe实现预测
    python调用caffe环境配置
    JS实现唤起手机APP应用,如果本地没有则跳转到下载地址
    PHP开发中使用的工具
    Linux安装redis服务
  • 原文地址:https://www.cnblogs.com/dshore123/p/7825427.html
Copyright © 2020-2023  润新知