【批量查询Oracle的bulkcollect用法】教程文章相关的互联网学习教程文章

Oracle 和 mysql 的批量操作Sql语句 的区别

正确的oracle批量新增的sql是:方法 1:<insert id="insertAttractionsBatch" parameterType="java.util.List">insert into ATTRACTIONS (ID, NAME, LONGITUDE, LATITUDE, UPDATE_TIME) <foreach collection="list" item="item" index="index" separator="union all" > (select #{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.longitude,jdbcType=DECIMAL}, #{item.updateTime,jdbcType=TIMESTAMP}...

Oracle Job的批量删除与重建脚本【代码】

-- 批量删除job declare v_exist number(2); -- job是否存在 beginfor x in 1..8 LOOPselect count(1) into v_exist from user_scheduler_jobs WHERE job_name = ‘PROCESS_BILL_DATA_‘ || x ;if v_exist > 0 thendbms_scheduler.drop_job(job_name => ‘PROCESS_BILL_DATA_‘ || x,force => TRUE);dbms_output.put_line(‘drop job :‘ || x );end if;end loop; end; / -- 查看pl/sql output页签输出,显示日志,删除job的个数-...

oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert【代码】

最近做项目遇到一个挺纠结的问题,由于业务的关系,DB的数据表无法确定,在使用过程中字段可能会增加,这样在insert时给我造成了很大的困扰。先来看一下最终我是怎么实现的: <insert id="batchInsertLine" parameterType="HashMap"> <![CDATA[ INSERT INTO tg_fcst_lines(${lineColumn}) select result.*,sq_fcst_lines.nextval from( ]]> <foreach collection="lineList" item="item" index="index" separator="union all" > (se...

Oracle批量执行脚本文件【代码】

以下是Oracle批量执行脚本文件的步骤和方法1、创建脚本文件(xx.sql):例如文件CreateTableCreate table tb1( id varchar2(30), Name varchar2(50) ); Commit; / 可以创建多个,但是要注意语句之间要以分号结尾,同时注意语句内尽量不要有空行,因为空行的时候,在批量执行时可能会报错。例如创建表时create table t( id varchar2(20), Name varchar2(30));上面这个文件在批量执行时,会执行不通过,提示“)”为非法语句。把括号之...

oracle 在xml中批量插入,批量修改及多组条件查询【代码】

最近公司用ibatis开发项目,本来可以用存储过程处理批量插入,批量修改及多组条件查询;但由于使用模块相对较小,暂时就在xml中配置,以前没有在xml做过类似处理,有必要记录一下;好了,代码如下:<!-- 批量插入 --><insert id="saveNotificationPushInfo" parameterClass="java.util.List"><![CDATA[INSERT ALL]]><iterate conjunction="">into notification_push_info(push_log_no,business_book, employee_id, notification_no...

oracle 批量删除表数据的2种方式【代码】【图】

1.情景展示  情景一:  删除PRIMARY_INDEX_TEST表中,MINDEX_ID字段为空的数据  情景二:  删除VIRTUAL_CARD_TEST表中的脏数据2.解决方案  情景一的解决方案: DELETEFROM PRIMARY_INDEX_TEST WHERE MINDEX_ID ISNULL  情景二的解决方案:  分析:情景二无法使用情景一那样,where后面直接加条件,只能根据主键来进行删除。  方案1:使用存储过程按id进行逐条删除。 1CREATEORREPLACEPROCEDURE DELETE_TABLE_BATCH...

oracle批量增加数据

记工作需要用到的一个批量插入数据的脚本。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; insert into tpj_gf_ma_invoiceinfo values (i, num_, code_,); end loop; commit;end;再次改进: declare code_ number(10) := 100000;num_ number(10) := 2000000; erro...

mybatis支持oracle批量插入【代码】

问题:mysql使用mybatis批量插入时,通过foreach标签,将每条记录按照逗号","连接即可。但是,oracle不支持。 oracle支持如下写法: <insert id="insertStudents">INSERT INTO Student(id, name, age, sex)<foreach collection="stuList" item="item" index="index" separator="union all"> (select #{item.id,jdbcType=VARCHAR},#{item.name,jdbcType=VARCHAR},#{item.age,jdbcType=VARCHAR},#{item.sex,jdbcType=VARCHAR}from d...

Oracle使用split和splitstr函数批量分隔字符串【代码】

1.创建一个表类型tabletype: createorreplace type tabletype astableofVARCHAR2(32676); 2.创建split 函数CREATEORREPLACEFUNCTION split (p_list CLOB, p_sep VARCHAR2 :=‘,‘) RETURN tabletype PIPELINED IS/* * 2015-11-11 * Function: 返回字符串被指定字符分割后的表类型。 * Parameters: p_list: 待分割的字符串。 p_sep: 分隔符,默认逗号,也可以指定字符或字符串。 */l_idx PLS_INTEGER; v_list VARCHAR2 (32676) ...

mybatis Oracle 批量插入,批量更新【代码】

传入的参数只要是list类型的参数就行了。。。。。。。。。。。。。。1、批量插入<insert id="insertBatch" parameterType="java.util.List"> INSERT INTO T_CITY_INDEX( id,city_code ) select SEQ_CITY_INDEX.NEXTVAL,cd.* from( <foreach collection="list" item="item" index="index" close=")" open="(" separator="union"> select #{item.cityCode,jdbcType=VARCHAR}, #{item.cityName,...

Oracle数据库批量数据导出工具开发【图】

Oracle数据库批量数据导出工具开发 需求最近工作中遇到一个需求,用户频繁要求从后台批量导出大量数据。目前的导出方式是使用PL/SQL Developer工具连接Oracle数据库,编写SQL语句,使用PL/SQL Developer工具自带的导出Excel文件的功能进行导出。编写SQL查询结果2.选择导出Excel文件选择导出Excel文件时可以选择导出XLS、XLSX两种格式的文件。遇到的问题:当用户要求导出的数据条数太大,超过XLS或者XLSX两种文件可以存储的最大行数...

Oracle 批量更新表字段【代码】【图】

Oracle 批量更新表字段CreateTime--2018年2月27日16:02:24Author:Marydon(一) 将数字替换成汉字  第一步,去重查询  使用distinct关键字先对该字段值进行去重查询,看共有几种情况--查询指定区间内表停诊字段的值SELECTDISTINCT T.CLOSE_TZFROM CONSULT_SCHEDULE TWHERE T.SCHEDULE_DATE BETWEEN TO_DATE(‘2018-01-01‘, ‘yyyy-MM-dd‘) ANDTO_DATE(‘2018-02-28‘, ‘yyyy-MM-dd‘);  查询结果:共有3种情况  第二步,...

Mybatis 针对oracle的批量插入【代码】

xml文件参数对象:1publicclass Columns{ 2private String basedate_code; 3private String tableName; 4private String codeDescribeindex; 5private String codeInfoindex; 6private String codePymindex; 7private List<Info> infos;Dao层方法:publicvoid bulkInsert(Columns columns);xml文件配置: 1<insert id="bulkInsert" parameterType="Columns"> 2 insert into manager_basedata_info (app_code,basedata_code,...

oracle下巧用bulk collect实现cursor批量fetch的sql语句

在一般的情况下,使用批量fetch的几率并不是很多,但是Oracle提供了这个功能我们最好能熟悉一下,说不定什么时候会用上它。 复制代码 代码如下:declare cursor c1 is select * from t_depart; v_depart t_depart%rowtype ; type v_code_type is table of t_depart.depart_code%type ; v_code v_code_type ; type v_name_type is table of t_depart.depart_name%type ; v_name v_name_type ; begin open c1; fetch c1 bul...

Oracle:从SQL文件批量导入数据

进入DOS界面。进入SQL文件目录。在命令提示下运行SqlPlus,c:\sql>sqlplus user_name/password@net_service_name指定SQL执行日志文件,日志文件名任意,但必须以log为后缀名:sql>spool e:\temp\a.log创建批量执行文件。如果要批量执行多个SQL文件,可以创建一个list文件,例如list.sql,里面列出每个SQL文件,以@@开头,例如@@a.sql;@@b.sql;调用批量执行文件,sql>@list.sql如果只执行单个SQL文件,可以直接调用,sql>@@a.sqlSQL...