精华内容
下载资源
问答
  • Oracle批量增加和修改

    2018-10-22 13:46:07
    1.批量增加的定义语法insert into (table表名) selectquery -- 批量增加 -- insert into DEPT(DEPTNO,DNAME,LOC)(SELECT (DEPTNO+1),DNAME,LOC from DEPT); 2.批量修改的定义语法update (table表名) set (column...

    1.批量增加的定义语法insert into (table表名) selectquery

    -- 批量增加
    -- insert into DEPT(DEPTNO,DNAME,LOC)(SELECT (DEPTNO+1),DNAME,LOC from DEPT);
    

    2.批量修改的定义语法update (table表名) set (column列名)= selectquery

      -- 批量修改
     update DEPT set DNAME=(select dname from dept where deptno=21) where deptno in(11,21,31,41);
    
    展开全文
  • oracle批量生成数据脚本,oracle批量生成数据脚本,oracle批量生成数据脚本,oracle批量生成数据脚本。
  • 由于项目需求,需要将Excel中的数据进过一定转换导入仅Oracle数据库中。考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法。在插入操作运行时,会造成系统短暂的“卡死”现象。为了让用户...
  • oracle 批量添加效率问题记录 批量添加代码效率问题: oracle 使用 insert All into 运行1000条批量插入数据需要使用1分钟左右而使用 insert into select 只使用了1s左右特此记录 ...

    oracle 批量添加效率问题记录

    批量添加代码效率问题:
    oracle 使用 insert All into 运行1000条批量插入数据需要使用1分钟左右而使用
    insert into select 只使用了1s左右特此记录

    展开全文
  • springboot项目在Oracle下测试批量添加批量删除,使用spring boot构建的项目,数据库配置的时oracle,想换成MySQL自己把配置文件中的MySQL链接注释去掉即可。项目测试了Oracle添加,删除数据,批量添加批量删除...
  • Oracle批量插入数据

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

    一条SQL语句批量插入数据到数据库:

    (1)INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....;

    (2)多个INSERT INTO VALUEES(各个值);“;”隔开一同执行

    以上两种方法OracleSQL Server都不支持,MySQL支持

            对于Oracle数据库,可以使用以下方法:

    (1)INSERT ALL INTO  表(字段) VALUES(值1)  INTO 表(字段) VALUES (值2) INTO 表(字段) VALUES(值3) ....SELECT 1 FROM DUAL

    (2) insert into 表(字段) (select ... from dual) union all (select ... from dual)

    以上两种方法均试验过,可以批量插入。


            此外,批量插入时,有个问题,那就是主键的生成。可以使用Oracle的序列:

    创建一个序列(序列名的规则一般建议是以SEQ开头,然后下划线,后面跟你的表名,然后以_Identity结尾,用来表示这个序列是用在Id自增字段的序列),创建语句如下:

    create sequence 序列名     
           increment by 1 --每次增加几个,我这里是每次增加1
           start with 1   --从1开始计数
           nomaxvalue      --不设置最大值
           nocycle         --一直累加,不循环
           nocache;        --不建缓冲区

    在插入语句中调用:序列名.nextval  生成自增主键。

            还有一种方法,就是自己在代码中使用UUID为每条数据记录生成唯一主键

           

    让我们一起遨游在代码的海洋里!

           

    展开全文
  • Java实现使用Mybatis将数据批量插入到Oracle数据库,并且可以使用Oracle序列来生成主键
  • <insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="false" flushCache="false"> INSERT INTO CMF_INV_BILLING_DETAIL ( ID, REGION_ID, KP_RQ, ...
    <insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="false" flushCache="false">
    		    	INSERT INTO CMF_INV_BILLING_DETAIL
    				  (
    				   ID,
    				   REGION_ID,
    				   KP_RQ,
    				   CHECK_DESK_ID,
    				   CHECK_DESK_NAME,
    				   COUNTY_ID,
    				   INVOICE_ID,
    				   FP_DM,
    				   FP_HM,
    				   OPEN_TYPE,
    				   AMOUNT_NO,
    				   TAX_FEE,
    				   AMOUNT,
    				   BUSI_TYPE,
    				   INVOICE_TYPE,
    				   BUYER_TAX_ID,
    				   BUYER_TAX_NAME,
    				   EXPENSE_NAME,
    				   INVOICE_NOTES,
    				   STAFF_NAME,
    				   OPEN_STAFF_NAME,
    				   INVOICE_STATE,
    				   RED_CATEGORIES_DESC,
    				   RED_SPECIFIC_DESC,
    				   UPDATE_DATE,
    				   YEAR,
    				   MONTH
    				   )
    		        SELECT
    		        CMF_INV_BILLING_DETAIL_S.NEXTVAL AS ID, A.*
    		        FROM
    		        (
            <foreach collection="list" item="item" index="index" separator="union all" >
    	     select    
    					
    					#{item.regionId,jdbcType=VARCHAR},
    					#{item.kpRq,jdbcType=DATE},
    					#{item.checkDeskId,jdbcType=DECIMAL},
    					#{item.checkDeskName,jdbcType=VARCHAR},
    					#{item.countyId,jdbcType=VARCHAR},
    					#{item.invoiceId, jdbcType=DECIMAL},
    					#{item.fpDm,jdbcType=VARCHAR},
    					#{item.fpHm,jdbcType=VARCHAR},
    					#{item.openType,jdbcType=VARCHAR},
    					#{item.amountNo,jdbcType=VARCHAR},
    					#{item.taxFee,jdbcType=DECIMAL},
    					#{item.amount,jdbcType=DECIMAL},
    					#{item.busiType,jdbcType=VARCHAR},
    					#{item.invoiceType,jdbcType=VARCHAR},
    					#{item.buyerTaxId,jdbcType=VARCHAR},
    					#{item.buyerTaxName, jdbcType=VARCHAR},
    					#{item.expenseName,jdbcType=VARCHAR},
    					#{item.invoiceNotes, jdbcType=VARCHAR},
    					#{item.staffName, jdbcType=VARCHAR},
    					#{item.openStaffName,jdbcType=VARCHAR},
    					#{item.invoiceState, jdbcType=VARCHAR},
    					#{item.redCategoriesDesc,jdbcType=VARCHAR},
    					#{item.redSpecificDesc,jdbcType=VARCHAR},
    					#{item.updateDate,jdbcType=DATE},
    					#{item.year,jdbcType=VARCHAR},
    					#{item.month,jdbcType=VARCHAR}
    	             from dual  
            </foreach>
                 )A
        </insert>
      
        <update id="updateBatch" parameterType="java.util.ArrayList">
            <foreach collection="list" item="record" index="index" open="begin" close=";end;" separator=";"> 
            	<![CDATA[ UPDATE CMF_INV_BILLING_DETAIL ]]>
    			<trim prefix="SET" suffixOverrides=",">
    				<!-- <if test="null != record.shareStatus  and '' != record.shareStatus "> -->
    	              
    			       <![CDATA[  OBJECT_VERSION_NUMBER       = #{record.objectVersionNumber ,jdbcType=DECIMAL} ,]]>
    			       <![CDATA[  LAST_UPDATE_DATE           = CURRENT_TIMESTAMP                                ,]]>
    			       <![CDATA[  REGION_ID                  = #{record.regionId          ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  KP_RQ                      = #{record.kpRq              ,jdbcType=DATE   } ,]]>
    			       <![CDATA[  CHECK_DESK_ID              = #{record.checkDeskId       ,jdbcType=DECIMAL   } ,]]>
    			       <![CDATA[  CHECK_DESK_NAME            = #{record.checkDeskName     ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  COUNTY_ID                  = #{record.countyId          ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  INVOICE_ID                 = #{record.invoiceId         ,jdbcType=DECIMAL   } ,]]>
    			       <![CDATA[  FP_DM                      = #{record.fpDm              ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  FP_HM                      = #{record.fpHm              ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  OPEN_TYPE                  = #{record.openType          ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  AMOUNT_NO                  = #{record.amountNo          ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  TAX_FEE                    = #{record.taxFee            ,jdbcType=DECIMAL   } ,]]>
    			       <![CDATA[  AMOUNT                     = #{record.amount            ,jdbcType=DECIMAL   } ,]]>
    			       <![CDATA[  BUSI_TYPE                  = #{record.busiType          ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  INVOICE_TYPE               = #{record.invoiceType       ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  BUYER_TAX_ID               = #{record.buyerTaxId        ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  BUYER_TAX_NAME             = #{record.buyerTaxName      ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  EXPENSE_NAME               = #{record.expenseName       ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  INVOICE_NOTES              = #{record.invoiceNotes      ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  STAFF_NAME                 = #{record.staffName         ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  OPEN_STAFF_NAME            = #{record.openStaffName     ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  INVOICE_STATE              = #{record.invoiceState      ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  RED_CATEGORIES_DESC        = #{record.redCategoriesDesc ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  RED_SPECIFIC_DESC          = #{record.redSpecificDesc   ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  UPDATE_DATE                = #{record.updateDate        ,jdbcType=DATE   } ,]]>
    			       <![CDATA[  YEAR                       = #{record.year              ,jdbcType=VARCHAR   } ,]]>
    			       <![CDATA[  MONTH                      = #{record.month             ,jdbcType=VARCHAR   } ,]]>
    				                
    				<!-- </if> -->
    			</trim>
    			<trim prefix="WHERE" prefixOverrides="AND">
    				<!-- <if test="null != record.id and '' != record.id"> -->
    	                <![CDATA[ AND ID = #{record.id} ]]>
    				<!-- </if> -->
    			</trim>
            </foreach>
    </update>

     

    展开全文
  • 在操作数据库时,我们时常需要给数据库中的表名以及字段名添加注释,如果去写comment语句,或者是直接拼出来一条一条去执行,亦或者使用一些可视化工具去添加,都太过于繁琐。 在此背景下,我想到了一个比较方便的...
  • oracle 批量插入数据存储过程。亲测好用。支持 plsql ,toad,等数据库分析软件。主要包括变量的定义,循环及游标的使用等, 亲测好用
  • https://blog.csdn.net/qq_37630354/article/details/82792288 转载于:https://www.cnblogs.com/qdck/p/11045962.html
  • Oracle批量插入数据的三种方式

    万次阅读 2018-06-12 16:41:01
    第一种: begin insert into tableName(column1, column2, column3...) values(value1,value2,value3...); insert into tableName(column1, column2, column3...) values(value1,value2,value3...);...
  • Mybatis Oracle批量添加

    2021-05-20 13:16:14
    Oracle批量插入与mysql不一样!!!  mapper接口 /** * CBD批量入库 * @param exdBizReportCBDList * @return */ int batchInsert(@Param("exdBizReportCBDList")Set<ExdBizReportCBD> ...
  • oracle批量增加数据

    2018-06-30 00:38:00
    记工作需要用到的一个批量插入数据的脚本。 declare code_ number(10) := 100000; num_ number(10) := 2000000; error_message exception;begin for i in 100 .. 1000 loop num_ := num_ + 1; code_ := code_ + 1; ...
  • NULL 博文链接:https://zzx0421.iteye.com/blog/335955
  • oracle 批量插入语句

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

    千次阅读 2019-05-15 15:42:07
    给一个表空间包含的所有表中批量添加同一字段 实现方法: 先查询表空间包含的所有表 select table_name from all_tables where owner=‘表空间名’ 将查到的表名导出成excle,将excle中的内容复制到notepad+...
  • Oracle批量插入和批量新增

    千次阅读 2021-01-12 18:20:06
    Oracle数据库对于大数据量的更新和插入如果一次一行SQL的写的话,显得有点low同时也是效率问题容易让人抓狂,因此在这里记叙下针对Oracle批量更新和插入 建表: -- 学生表 create table student (id varchar2(20),...
  • Oracle批量插入语句

    2019-12-11 16:56:51
    INSERT ALL INTO TEST_12(ID, NAME) VALUES(ID, NAME) SELECT ID, NAME FROM PROCESS_STEPS WHERE ...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 批量插入使得主键自增有很多实现方式,笔者使用的是较为简单的(序列)的方式,实现批量插入。但是有个问题,就是批量插入的同时获取每条插入数据的序列号。因为Oracle本身不像Mysql,是不支持批量返回主键id...
  • oracle 批量新建索引SQL

    2018-12-11 11:44:21
    第三步用sql返回创建索引的变量的值,我这里以列名ID为例,就可以将批量新建索引的SQL语句拼接出来了,如下: select 'CREATE UNIQUE INDEX ' || table_name || '_IDX_ID ON ' || table_name || '(ID) TABLESPACE '...
  • 本文给大家介绍Oracle+Mybatis的foreach 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,...
  • oracle批量导入sql语句

    千次阅读 2020-03-09 20:04:19
    由于要将mysql数据库转为oracle,mybatis的映射文件里面的批量插入用的mysql的多个values的形式,但是换成oracle库之后sql报错。所以.oracle并不支持这种一个insert into 多个values的方法 mysql:INSERT INTO users....
  • 下面实例是为数据库当前用户中所有表名称含有'_OPT'的表,新增'IMPORT_DATE'字段,并添加字段注释'入库日期'。 declare --需要执行的SQL字符串 v_alter_sqlstr varchar2(500); -- 游标 cursor c_result is ...
  • 网上许多Mybatis向数据库批量插入、批量更新的基本都是向mysql插入、更新的,而当使用相同的方法向Oracle数据库插入、更新时,总是会出现问题报错。 mybatis映射中可以通过标签来实现Oracle批量插入、更新和删除 ...
  • oracle 批量增加数据sql

    2020-04-23 23:42:49
    <insert id="insertBatch" parameterType="java.util.List"> insert into A10WEB ( ABZ001, ABZ080, AAC102, ABB391, AAB001 ) select t.abz001,t.abz080,t.aac102,t.a...
  • sqlalchemy oracle 批量添加记录 前提:要安装 cx_oracle 自己封装了一些常用的操作 import math from sqlalchemy import orm class Connect(object): instance = None @classmethod def get_instance(cls, ...
  • 一直使用的是Oracle数据库,现在换成mysql数据库,数据库不同批量插入的语法也不同 mysql批量插入的语法: <insert id="addBatch" parameterType="java.util.List" useGeneratedKeys="false"> INSERT ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,713
精华内容 15,885
关键字:

oracle批量增加