
oracle
凤凰码路
这个作者很懒,什么都没留下…
展开
-
Merge Into 语句代替Insert/Update在Oracle中的应用实战
动机:想在Oracle中用一条SQL语句直接进行Insert/Update的操作。说明:在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也就是说当存在记录时,就更新(Update),不存在数据时,就插入(Insert)。实战:接下来我们有一个任务,有一个表T,有两个字段a,b,我们想在表T中做Insert/Update,如果存在,则更新T转载 2017-07-14 13:54:17 · 396 阅读 · 0 评论 -
常用sql
oracle:SELECT * from BASE_AREA where AREA_NAME != '中国'start with BASE_AREA_ID = '5d1aa479cc0e48128a9011b0c3baad42'CONNECT by prior PARENT_ID= BASE_AREA_ID ORDER BY sort原创 2017-07-14 14:31:55 · 312 阅读 · 0 评论 -
oracle分区
create table emp (id NUMBER,salary NUMBER(10,2))partition by range (salary)(partition p1 VALUES less than (1000),partition p2 VALUES less than (2000),partition p3 VALUES less than (3000))原创 2017-07-20 09:40:31 · 211 阅读 · 0 评论 -
mybatis+oracle generator 配置和异常处理
a、将图片中三个文件粘贴到src平级目录b、generatorConfig.xml文件配置generatorConfiguration > classPathEntry location="/ojdbc14.jar" /> context id="context1" targetRuntime="MyBatis3"> jdbcC转载 2017-08-21 17:22:49 · 469 阅读 · 0 评论 -
mybatis+oracle添加数据时如果数据存在就更新,如果不存在就插入
判断需要插入的数据是否存在,如果不存在就更新 MERGE INTO 表名 T USING ( SELECT SYS_GUID() AS CODE,#{item.createDate,jdbcType=VARCHAR} AS CREATE_DATE,#{item.createBy,jdbcType=VARCHAR} AS CREATE_BY,#{item.flag转载 2017-08-22 10:22:40 · 7069 阅读 · 2 评论 -
Oracle中rownum、rowid、row_number()、rank()、dense_rank()的区别
首先来说一下rownum与rowid含义:顾名思义rownum就是行数/行号,而rowid就是编码/编号/唯一识别号,所以他是类似“AAAR8gAAEAAAAErAAK”的编号,注意他是没有先后顺序的,也就是说他和数据入库时间没有任何关系,打个比方:他就像磁盘、内存存储数据用的是16进制的地址一样。 他们都是伪列,可以理解成表中的一个列只是他们并不是你创建的。同样是伪列区别转载 2018-01-24 11:10:34 · 298 阅读 · 0 评论 -
ORACLE中decode、case when区别
DECODE语法:1、decode(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value=if1时,decode函数的结果返then1,...,如果不等于任何一个if值,则返回else。可以用函数或表达式来替代value,if,then,else。2、decode(value,if,then,else),如果value=if转载 2018-01-24 11:24:37 · 2809 阅读 · 0 评论 -
Oracle 删除重复数据只留一条
查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录转载 2018-01-24 16:34:34 · 163 阅读 · 0 评论