zoukankan      html  css  js  c++  java
  • oracle 批量insert into

    看了ITPUB博主的文章也才知道oracle也这种操作,记录一下。。

    1.for 循环批量insert

    create table T_TABLE_SQL
    (
      ids      NUMBER,
      col_name VARCHAR2(20)
    );
    insert into t_table_sql values(001,'trans'); insert into t_table_sql values(002,'json'); create table t_table_sql_2 as select * from t_table_sql where 1=2; select * from t_table_sql; begin for i in (select * from t_table_sql) loop --一直都以为oracle不支持把"行"变量直接和insert操作关联起来使用,这里"行"变量这个名字是我给起的,不知道是否准确,只要大家能理解就ok. insert into t_table_sql_2 values i; --才晓得,oracle还有这种操作 commit; end loop; end; select * from t_table_sql_2; SQL> select * from t_table_sql_2; IDS COL_NAME ---------- -------------------- 1 trans 2 json

    2.游标批量insert

       2.1

    truncate table t_table_sql_2;
    
    select * from t_table_sql_2;
    
    declare
    cursor cur_data is
    select * from t_table_sql;
    v_tab t_table_sql%rowtype;
    begin
     open cur_data;
      fetch cur_data into v_tab;
      while cur_data%found loop
        insert into t_table_sql_2 values v_tab;
        fetch cur_data into v_tab; 
        end loop;
     close cur_data;
     commit;
      end;

       2.2

    truncate table t_table_sql_2;
    
    select * from t_table_sql_2;
    
    declare
    cursor cur_data is select * from t_table_sql;
    type t_tab_rec is record(
    ids t_table_sql.ids%type,
    col_name t_table_sql.col_name%type);
    t_tab t_tab_rec;
    begin
      open cur_data;
      fetch cur_data into t_tab;
      while cur_data%found loop
        insert into t_table_sql_2 values t_tab;
        fetch cur_data into t_tab;
        end loop;
      close cur_data;
      commit;
      end;

    转:http://blog.itpub.net/19602/viewspace-1015318/

  • 相关阅读:
    Spring bean的自动装配
    JSP三大指令
    JSP九大内置对象
    Java异常的捕获顺序(多个catch)
    Integer.parseInt(s)和Integer.valueOf(s)之间的区别
    mysql忘记密码(MySQL5.7)
    java的四种内部类
    内存泄露查询
    深度优先和广度优先比较
    循环队列
  • 原文地址:https://www.cnblogs.com/jason3361/p/11592376.html
Copyright © 2011-2022 走看看