博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql和oracle用法的区别
阅读量:7013 次
发布时间:2019-06-28

本文共 2641 字,大约阅读时间需要 8 分钟。

hot3.png

1、分页

mysql:

select * from table limit m;  --查询m行

select * from table limit m, n;  --查询m+n行,撇去前面的m行,返回最后的n行

select * from table limit n offset m;

select * from table where id > 100 limit 0, 10; --第101~110行

oracle:

select * from (select T1.*, rownum rn from (select * from table) T1 where rownum <= 110) where rn > 100;

2、batchUpdateOrInsert

oracle:

merge into tabel T1 using (
SELECT #{item.XX1} XX1, #{item.XX2} XX2, FROM DUAL
) T2 on (T1.XX1 = T2.XX1) when matched then update set T1.XX2 = T2.XX2, T1.update_date = to_date(#{now}, 'yyyy-mm-dd hh24:mi:ss') when not matched then insert (ID, XX1, XX2, update_date) values (SEQ_TABLE_ID.nextval, T2.XX1, T2.XX2, to_date(#{now}, 'yyyy-mm-dd hh24:mi:ss'))

by the way,oracle建表,需要对自增主键另外建序列

CREATE TABLE A(  ID NUMBER(8,0) NOT NULL , USER_MOBILE VARCHAR2(11) NOT NULL , CREATE_DATE DATE NOT NULL , CREATE_BY VARCHAR2(32) NOT NULL , UPDATE_DATE DATE NOT NULL , UPDATE_BY VARCHAR2(32) NOT NULL , CONSTRAINT A_PK PRIMARY KEY   (    ID   )  ENABLE );COMMENT ON COLUMN A.ID IS '主键';COMMENT ON COLUMN A.USER_MOBILE IS '会员账号';--创建序列create sequence SEQ_A_IDminvalue 1maxvalue 9999999999999999999999999999start with 1increment by 1nocache;

mysql:Todo

3、oracle:select 1 from dual;

mysql:select 1;

4、结合mybatis,插入后返回主键

oracle单条可以返回,批量多条不能返回。

select SEQ_A_ID.nextval from dual
insert into A
ID,
USER_ID,
CHANGE_TYPE,
UPDATE_DATE,
#{id,jdbcType=DECIMAL},
#{userId,jdbcType=DECIMAL},
#{changeType,jdbcType=VARCHAR},
#{updateDate,jdbcType=TIMESTAMP},

插入后,XXmodel.getId()可以得到主键id。

select SEQ_A_ID.nextval from dual
insert into A (ID, USER_ID, CHANGE_TYPE, UPDATE_DATE) select SEQ_A_ID.nextval, A.* from (
select #{item.userId,jdbcType=DECIMAL}, #{item.changeType,jdbcType=VARCHAR}, #{item.updateDate,jdbcType=TIMESTAMP} FROM DUAL
) A

oracle单条,批量多条都可以返回。Todo

 

转载于:https://my.oschina.net/u/2342541/blog/1793969

你可能感兴趣的文章
iOS 无需官方SDK实现微信、QQ社交功能,支持Web登录
查看>>
JavaScript的数据类型及其检测
查看>>
类的执行顺序与this指针
查看>>
最牛Java架构师进阶路线
查看>>
西安电话面试:谈谈Vue数据双向绑定原理,看看你的回答能打几分
查看>>
[译]PEP 342--增强型生成器:协程
查看>>
技术团队管理笔记(一)-识人
查看>>
[iOS]仿 Airbnb 的 tableView 头部视图层叠效果
查看>>
09、React系列之 使用yarn包管理工具
查看>>
小议Linux安全防护(二)
查看>>
动态权限相关的几个库分析
查看>>
在 Postgres 上使用 HyperLogLog 进行去重计数
查看>>
【JS第27期】继承-原型链
查看>>
SpringBoot使用缓存
查看>>
如何实现一个无限循环的轮播图
查看>>
iOS蓝牙开发
查看>>
使用maven构建java9 service实例
查看>>
十三、Android studio环境的搭建
查看>>
ES6 系列之模板字符串
查看>>
JVM(四)垃圾回收的实现算法和执行细节
查看>>