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#.NET.JSON库
    C# .NET 私钥 RSA2,SHA256,签名
    fiddler 捕捉不到代码发出去的HTTP请求
    双网卡共享上网
    json 反序列化成键值对
    C# .NET 杀进程
    docker in centos error
    深入理解磁盘文件系统之inode
    CentOS下安装高版本GCC
    Mac 使用 launchctl 定时运行程序(转载)
  • 原文地址:https://www.cnblogs.com/ningxu/p/3471717.html
Copyright © 2011-2022 走看看