看见同事写的for循环,内部调用insert方法,强迫症的我硬是把自己的逻辑实现改成batch insert。但是oracle的批量处理和MySQL的不一样,oracle要创建一个自增序列。
-- Oracle SEQUENCE 序列语法:
CREATE SEQUENCE 序列名
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE/ MINVALUE n|NOMAXVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE n|NOCACHE}];
示例:
CREATE SEQUENCE sq_test -- 序列名
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
MAXVALUE 9999999 -- 最大值9999999
NOCYCLE -- 一直累加,不循环
NOCACHE;
SELECT sq_testNEXTVAL FROM DUAL;
可以使用sequence的地方:
-- 不包含子查询、snapshot、VIEW的 SELECT 语句
-- INSERT语句的子查询中
-- NSERT语句的VALUES中
-- UPDATE 的 SET中
可以看如下例子:
INSERT INTO table_name VALUES (sq_testnextval, 'CLERK',1200, SYSDATE);
以上就是关于mybatis和oracle结合实现批量插入全部的内容,包括:mybatis和oracle结合实现批量插入、mybatis里的xml中的写添加的sql语句,怎么使用oracle数据库的序列、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)