精华内容
下载资源
问答
  • 今天小编就为大家分享一篇关于ibatis结合oracle批量插入三种方法的测评,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 第一种: begin insert into tableName(column1, column2, column3...) values(value1,value2,value3...); insert into tableName(column1, column2, column3...) values(value1,value2,value3...);...
  • 考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法。在插入操作运行时,会造成系统短暂的“卡死”现象。为了让用户知道插入的状态,需要制作一个进度条来显示插入的进度。 批量插入 项目中...
  • oracle批量生成数据脚本,oracle批量生成数据脚本,oracle批量生成数据脚本,oracle批量生成数据脚本。
  • oracle 批量插入数据存储过程。亲测好用。支持 plsql ,toad,等数据库分析软件。主要包括变量的定义,循环及游标的使用等, 亲测好用
  • 数据库做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条 SQL快速生成大量的测试数据的方法。 产生测试数据的SQL如下...
  • oracle 批量插入存储过程

    热门讨论 2012-11-26 15:31:02
    oracle 批量插入存储过程,性能非常高!
  • 一直使用的是Oracle数据库,现在换成mysql数据库,数据库不同批量插入的语法也不同 mysql批量插入的语法: <insert id="addBatch" parameterType="java.util.List" useGeneratedKeys="false"> INSERT ...

    一直使用的是Oracle数据库,现在换成mysql数据库,数据库不同批量插入的语法也不同

    mysql批量插入的语法:

    <insert id="addBatch" parameterType="java.util.List" useGeneratedKeys="false">
    		INSERT INTO t_game_error_sort(
    		user_id,
    		record_id,
    		garbage,
    		garbage_img,
    		error_sort,
    		correct_sort,
    		enable_,
    		remark_,
    		create_by,
    		create_time,
    		update_by,
    		update_time
    		)
    		VALUES
    		<foreach collection ="list" item="item" separator =",">
    			(#{item.userId},
    			#{item.recordId},
    			#{item.garbageImage},
    			#{item.garbage},
    			#{item.errorSort},
    			#{item.correctSort},
    			#{item.enable},
    			#{item.remark},
    			#{item.createBy},
    			#{item.createTime},
    			#{item.updateBy},
    			#{item.updateTime})
    		</foreach >
    	</insert>

    Oracle批量插入语法:无values插入 直接通过 SELECT t.*   from( )t 的方式来填充值

    <insert id="addBatch" parameterType="java.util.List" useGeneratedKeys="false">
      INSERT INTO t_game_error_sort(
      user_id,
      record_id,
      garbage,
      garbage_img,
      error_sort,
      correct_sort,
      enable_,
      remark_,
      create_by,
      create_time,
      update_by,
      update_time
      )
     
      SELECT t.*
      from(
      <foreach collection="list" item="item" index="index" separator="UNION ALL">
       select
       #{item.userId} user_id,
       #{item.recordId} record_id,
       #{item.garbageImage} garbage_img,
       #{item.garbage} garbage,
       #{item.errorSort} error_sort,
       #{item.correctSort} correct_sort,
       #{item.enable} enable_,
       #{item.remark} remark_,
       #{item.createBy} create_by,
       #{item.createTime} create_time,
       #{item.updateBy} update_by,
       #{item.updateTime} update_time
       FROM dual
      </foreach>
      ) t   //批量插入的时候 要有别名
     </insert>

     

    展开全文
  • 问题:用mybaits 批量插入数据到Oracle 数据库的时候, 报错: ORA-00933: SQL 命令未正确结束 / ORA-00933: SQL command not properly ended ; 意思就是 语法错误  原因: oracle 批量插入与mysql 的批量...

    问题:用mybaits 批量插入数据到Oracle 数据库的时候,

    报错:

    ORA-00933: SQL 命令未正确结束 / ORA-00933: SQL command not properly ended ;

    意思就是 语法错误 

    原因:

    oracle 批量插入与mysql 的批量插入的方式是不同的,

    insert into tablename()values(),(),(); ---这个是mysql 的批量插入形式

    insert all  into tablename() values() into tablename() values()  -------这个是Oracle批量插入形式 

     

    下面记录: mybaits 批量插入数据的样式,

      <insert id="insertclobtest2" parameterType="com.inspur.tax.sjaqgl.sjflfjgl.data.ClobEntity">
            INSERT ALL
            <foreach collection="list" item="item" index="index">
                INTO ainsertclob (id, blobtest) VALUES
                (#{item.id}, #{item.blobtest})
            </foreach>
            select 1 from dual
    
        </insert>

    方式2:

    
        <insert id="insertclobtest3" parameterType="com.inspur.tax.sjaqgl.sjflfjgl.data.ClobEntity">
    
            INSERT INTO ainsertclob (id, blobtest)
            <foreach collection="list" item="item" index="index" separator="union all">
                SELECT #{item.id} ,#{item.blobtest} from dual
            </foreach>
        </insert>
    

    以上亲测可用

     

    ------------------------------------------------分割线----------------------------------------------------------

    Mybaits: mysql 数据库批量插入数据的例子;

        <insert id="insertclobtest1" parameterType="com.inspur.tax.sjaqgl.sjflfjgl.data.ClobEntity">
            INSERT INTO ainsertclob (id, blobtest) VALUES
            <foreach collection="list" item="item" separator=",">
                (#{item.id}, #{item.blobtest})
            </foreach>
        </insert>
    

     

    展开全文
  • oracle 批量插入语句

    千次阅读 2019-07-14 10:46:37
    最近项目中使用oracle,现在要将一个包含对象的list集合批量插入到数据库中,由于项目使用的是mybaits,所以便想着用foreach功能进行批量插入。但是oracle与mysql的批量插入有很大的不同,首先oracle不支持主键自增...

        最近项目中使用oracle,现在要将一个包含对象的list集合批量插入到数据库中,由于项目使用的是mybaits,所以便想着用foreach功能进行批量插入。但是oracle与mysql的批量插入有很大的不同,首先oracle不支持主键自增,所以要在数据库中创建序列,才能实现与mysql相同的功能。

    下面是创建序列的方式:

          语法 CREATE SEQUENCE 序列名 [相关参数]
          参数说明 

    •      INCREMENT BY :序列变化的步进,负值表示递减。(默认1) 
    •      START WITH:序列的初始值 。(默认1) 
    •      MAXvalue:序列可生成的最大值。(默认不限制最大值,NOMAXVALUE) 
    •      MINVALUE:序列可生成的最小值。(默认不限制最小值,NOMINVALUE) 
    •      CYCLE:用于定义当序列产生的值达到限制值后是否循环(NOCYCLE:不循环,CYCLE:循环)。 
    •      CACHE:表示缓存序列的个数,数据库异常终止可能会导致序列中断不连续的情况,默认值为20,如果不使用缓存可设置NOCACHE
      例如:
    • create sequence seq_xx   --创建序列名称
    • increment by 1  --增长幅度
    • start with 1  --初始值
    • maxvalue 9999999999999999;  --最大值

    插入语句:

    mybatis映射中可以通过<foreach></foreach>标签来实现Oracle的批量插入、更新和删除
        <foreach>标签中主要有以下属性:
        collection、item、index、open、separate、close

    •     collection:该属性必须指定,指代Dao层接口传递的数据类型,主要有三种:
    •         ①:list集合类型;collection=”list“
    •         ②:array数组类型;collection=”array“
    •         ③:map映射类型;collection=”map“
    •     item:别名,表示集合中每一个元素迭代时的别名,获取数据时必须指定用别名来指定,不然会报错。
    •     index:迭代下标,即迭代过程中的位置。
    •     open:表示语句以什么开始。
    •     separate:表示每次迭代之间以什么符号作为分割。
    •     close:表示语句以什么结束。

     Oracle中可以使用java中的for循环逐条插入数据库,但是这种效率比较低,不适合一次性插入大量的数据,所以可以利用Oracle中的“dual”表实现批量处理,并且效率高。

    <insert id="insertUserList" parameterType="java.util.List">
        INSERT INTO ZZC_USER
            (ID,NAME,AGE,CREATE_TIME,UPDATE_TIME)
        SELECT SEQ_ZZC_USER.NEXTVAL CITY_ID, A.*
        FROM(
            <foreach collection="list" item="item" index="index" separator="UNION ALL">
                SELECT 
                #{item.name,jdbcType=VARCHAR} NAME,
                #{item.age,jdbcType=NUMBER} AGE,
                #{item.createTime,jdbcType=TIMESTAMP} CREATE_TIME,
                #{item.updateTime,jdbcType=TIMESTAMP} UPDATE_TIME
                FROM dual
            </foreach>
        )A
    </insert>

    sql文与mysql的批量插入有很大的不同之处,使用时要注意两者的区别。

    展开全文
  • oracle 批量插入日期

    2021-01-25 11:09:15
    declare temp integer:=10000; begin for i in 1..temp loop if to_date(to_char(sysdate-i,'yyyy-mm-dd'),'yyyy-mm-dd')=to_date('2015-01-01','yyyy-mm-dd') then exit; end if;... insert into time_tmp1 ...


    declare 
      temp integer:=10000;
    begin
      for i in 1..temp
        loop
          if to_date(to_char(sysdate-i,'yyyy-mm-dd'),'yyyy-mm-dd')=to_date('2015-01-01','yyyy-mm-dd') then
            exit;
          end if;
          insert into time_tmp1 values(trunc(sysdate-i));
         end loop;
         commit;
         
    end;

    展开全文
  • oracle批量插入数据

    千次阅读 2020-01-19 15:41:52
    oracle一次插入多条的方法 1.采用union all拼接查询方式 insert into table_name(ID,NAME,AME) select 001,'张三',21 from dual union all select 002,'Multi',31 from dual 2.采用insert all的方法 由于insert ...
  • ORACLE 批量插入(Insert)详解

    千次阅读 2020-11-26 22:22:56
    Oracle批量插入语句与其他数据库不同,下面列出不同业务需求的插入 假设有一张表Student -- 学生表 create table Student( id Varchar2(11) primary key, name varchar2(32) not null, sex varchar2(3) not null,...
  • 斜体样式@[TOC]Oracle批量插入6种方法小结 Oracle批量插入6种方法小结 准备 ` create table T_DQS_DATA_CRITERION_PAGE ( ID VARCHAR2(32) not null constraint T_DQS_DATA_CRITERION_PAGE_PK primary key, DATA_...
  • 在并发量比较高的时候,可能两个线程都查询某个记录不存在,所以会执行两次插入,然后其中一条必然会因为主键(这里说的主键不是递增主键)冲突而失败。 数据库层MySQL中INSERT … ON DUPLICATE KEY UPDATE … 就...
  • 背景:往sql里面传数据时以list集合的形式,因为你要批量插入。 1.sql语句如下写 <insert id="insertAll" parameterType="java.util.List"> insert into 你的表名 (主键ID , 字段1名字 , 字段2名字 , ...
  • Oracle 批量插入sql优化一例COUNT(1) 概念 大多数程序员在进行大数据量任务的加工处理时,因考虑可能没有足够的undo空间,或者认为 频繁地提交大量小事务 会比处理和 提交一个大事务 更快,也更高效,因此总是力图找...
  • oracle批量插入clob字段

    2021-09-10 22:39:11
    ACCOUNT.NEXTVAL, d.contractNo, d.contractName, d.signRemark, #{createuser,jdbcType=VARCHAR}, sysdate ) 方式二:使用mybatis批量插入,这种方式是可以的,但要指定jdbcType=Clob insert into ${tableName} ( ...
  • 首先呢,报出来的问题,就是因为union all 引发的,这一点我们可以确定的,因为我们使用的是oracle,和mysql是不一样的,使用oracle批量插入,使用union all是必须的; 在批量插入的时候,我们是每500条插入一次的...
  • Oracle批量插入数据

    万次阅读 2018-04-25 09:56:29
    一条SQL语句批量插入数据到数据库:(1)INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....;(2)多个INSERT INTO VALUEES(各个值);以“;”隔开一同执行以上两种方法Oracle和SQL Server都不支持,MySQL支持 ...
  • Oracle批量插入语句

    2019-12-11 16:56:51
    INSERT ALL ...1.INSERT ALL插入语句,后面跟的查询集,如果你只into了一个,那么就会像循环一样,去多次插入 2.DECODE函数,这是Oracle特有函数,在这里是为了实现查询集能够按照IN查询顺序来进行排序
  • Oracle批量插入UUID数据

    千次阅读 2020-04-28 14:47:22
    需求:插入一条由Oracle生成UUID的主数据,之后再插入三条子数据,子数据的父ID是主数据的ID。 --先定义四个字段,分别是主ID,以及子ID DECLARE p_id VARCHAR2 ( 50 ) := 10; m_id1 VARCHAR2 ( 50 ) := 10; m_id2...
  • oracle批量插入 值过多 报错

    千次阅读 2019-05-12 20:42:35
    Cause: java.sql.SQLSyntaxErrorException: ORA-00913: 值过多 ; bad SQL grammar []; nested exception is java.sql....错误信息如上,正常情况而言,这个错误是因为 值个数比插入的列个数多导致的 如果数据库...
  • insert into T_POSS_MERCHANT_BENEFICIARY (ID, MERCHANT_ID, NAME, LICENSE_TYPE_CODE, LICENSE_NO, EFFECT_DATE, INVALID_DATE, IS_LONG_TIME, ADDRESS, IS_DELETE, CREATE_TIME, UPDA...
  • ①带主键自增的批量插入 Mapper.xml文件: <!-- 批量插入 --> <insert id="addByUser" parameterType="java.util.List" useGeneratedKeys="false"> insert into ts_app_dxdz(ID, USERID,TYPEID, PZ
  • Oracle 批量插入数据 文章目录 Oracle 批量插入数据 1、复制一张表的数据插入到另外一张与之结构一致的表 2、对一张表进行批量插入 两张数据结构相同的表,要求将一张表的数据,增量或是全量插入到另一张表时候,...
  • 我们项目用的oracle11g,项目还是用swing界面展示数据的,之前数据量没上来的时候用下面的批量删除和插入都没问题(自己测试 的时候量级是个位数到百位数之间) 批量删除sql示例 <delete id=...
  • oracle 批量插入

    2020-09-27 14:35:09
    oracle批量擦恶如不支持mybtais&& mysql的那种; 正确的写法是 insert select fronm dual 比如 <insert id="batchInsertRecordList" parameterType="java.util.ArrayList" useGeneratedKeys = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,772
精华内容 12,708
关键字:

oracle批量插入