zoukankan      html  css  js  c++  java
  • Oracle 绑定多变量 批量插入

    类型1:多变量绑定,最佳方法

    declare
    i number;
    j number;

    Cursor my_cursor is select role_id,business_id from FUNC_BUSI;
    begin
       open my_cursor;
        LOOP
        fetch my_cursor into i,j;
         exit when my_cursor%NOTFOUND;
     insert into SEC_ROLE_GRANT (
       ROLE_GRANT_ID,ROLE_ID,ENT_ID)
    values (kf_contact.sec_role_grant$seq.nextval,i,j);
      end loop;
      close my_cursor;
    end;

    说明:表1--FUNC_BUSI,保存变量的组合数据,即最终要导入的数据;

            表2--SEC_ROLE_GRANT,最终要插入的表。

    多变量时需要用到游标。

    类型2:单变量绑定,使用数组插入

    declare
    TYPE i IS varray(50) of NUMBER;
    var_array i:=i(1,2);
    begin
     
      for  i in 1..var_array.count LOOP
      insert into kf_contact.sec_role_grant (
       ROLE_GRANT_ID,
       ROLE_ID,
       PRIV_ID,
       ENT_ID
    )
    values (
       kf_contact.sec_role_grant$seq.nextval,
       i,
       1,
       1008);
      end loop;

    end;

    类型3:多变量绑定,但需要手动一条条插入数据

    insert into sec.sec_role_grant
      (ROLE_GRANT_ID,
       ROLE_ID,
       PRIV_ID,
       ENT_ID)
    values
      (sec.sec_role_grant$seq.nextval,
       &role_id,
       1,
       &business_id);

    原创:转载请说明出处及作者。

  • 相关阅读:
    C#中发送邮件,包含Html代码 CDO.Message
    CodeSmith生成SQL Server视图的实体类脚本/对应的生成模板
    分享到微信朋友圈
    获取验证码效果和后台代码(js+html+cs)
    弹出遮罩层
    WebAPI上传文件
    zoj1665 dij变形
    hdu1535 SPFA
    hdu1217 floyd
    poj1703 并查集
  • 原文地址:https://www.cnblogs.com/ningxu/p/3471717.html
Copyright © 2011-2022 走看看