Oracle
qingmengwuhen1
这个作者很懒,什么都没留下…
展开
-
Oracle 使用connect by进行级联查询
原文地址:http://elim.iteye.com/blog/2099875connect by可以用于级联查询,常用于对具有树状结构的记录查询某一节点的所有子孙节点或所有祖辈节点。 来看一个示例,现假设我们拥有一个菜单表t_menu,其中只有三个字段:id、name和parent_id。它们是具有父子关系的,最顶级的菜单对应的parent_id为0。现假设转载 2016-11-11 17:03:50 · 2548 阅读 · 0 评论 -
Oracle表访问方式
ORACLE 采用三种访问表中记录的方式: 全表扫描(TABLE ACCESS FULL)、索引扫描(INDEX RANGE SCAN)、通过ROWID访问表(TABLE ACCESS BY USER ROWID)。全表扫描:SELECT ROWID, T.WAYBILL_NO FROM TT_EXPIRED_DUTY_NEW T WHERE T.REPORT_DT >= DAT原创 2017-05-16 17:23:58 · 640 阅读 · 0 评论 -
数据库事务的四大特性以及事务的隔离级别
1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 e.g. 1.Mary的原工资为1000, 财务人员将Mary的工资改为了8000(但未提交事务) 2.Mary读取自己的工资 ,发现自己的工资变为了8000,欢天喜地! 3转载 2017-05-11 22:26:54 · 273 阅读 · 0 评论 -
每种类型只查3条
业务需求:查询运单号和不可控类型两个字段。查询条件:报表日期2017-02-08、不可控类型为3,4,23,25、每种类型只查3条。查询SQL:SELECT WAYBILL_NO 运单号, CONTROLLABLE_TYPE 不可控类型 FROM (SELECT T.WAYBILL_NO, T.CONTROLLABLE_TYPE,原创 2017-02-23 11:05:30 · 548 阅读 · 0 评论 -
Oracle建表、设置主键、建立分区、添加索引、添加备注语法
CREATE TABLE t_test( pk_id NUMBER(30) NOT NULL, add_date_time DATE, CONSTRAINT PK_T_TEST PRIMARY KEY(pk_id))PARTITION BY RANGE(add_date_time)( PARTITION t_test_2013_less VALUES LESS THA原创 2016-12-26 16:49:29 · 3039 阅读 · 0 评论 -
Oracle时间日期比较
一般精确到日期,直接使用Date强制转换即可:SELECT * FROM TT_EXPIRED_DUTY_NEW T WHERE T.REPORT_DT >= DATE '2016-12-01';想精确到时分秒,利用to_date():SELECT T.DYNAMIC_TM FROM TT_EXPIRED_DUTY_NEW T WHERE T.DYNAMIC_TM >=原创 2016-12-16 11:47:01 · 6646 阅读 · 0 评论 -
关于oracle函数listagg的使用说明
做项目的过程中遇到过一个这样的需求,在“用户查询”前台加一个字段“用户角色”,要将用户的所有角色查询出来放到一个字段中,角色之间用“,”分隔。发现一个办法是使用Oracle的listagg方法。WITH TMP AS (SELECT TU.USERNAME, TE.EMP_NAME, TE.EMP_DUTY_NAME, TR.ROLE_NAME FROM TS_USER原创 2016-12-10 09:41:47 · 2203 阅读 · 0 评论 -
Oracle什么时候需要commit?
SQL语言分为五大类:DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。DQL(数据查询语言) - Select 查询语句不存在提交问题。DML(数据操纵语言) - Insert、Update、Delete 这些语句需要Commit才能提交。DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。DCL(数据转载 2016-09-13 17:55:38 · 1330 阅读 · 0 评论 -
Oracle新增列和删除列语法
新增列:alter table 表名 add 列名 类型;删除列:alter table 表名 drop column 列名;举例:新增列:ALTER TABLE tt_feedback ADD end_tm DATE; 添加备注:COMMENT ON COLUMN tt_feedback_tm.end_tm IS '结束反馈时间';删原创 2016-09-28 14:25:55 · 1545 阅读 · 0 评论 -
Oracle的SUBSTR()和INSTR()以及REGEXP_SUBSTR()函数的用法
substr(字符串,截取开始位置,截取长度) //返回截取的字substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串substr('Hello World',1,1) //返回结果为 'H' *0和1都是表示截取的开始位置为第一个字符substr('Hello World',2,4) //返原创 2016-09-29 18:02:01 · 909 阅读 · 0 评论 -
Oracle查行号为100到110的10条数据
面试中问到的,好久没用,竟然想不起来。SELECT B.R,B.WAYBILL_NO FROM (SELECT ROWNUM R, T.* FROM TT_EXPIRED_DUTY_NEW T WHERE ROWNUM <= 110) B WHERE B.R >= 100 AND B.R 基本思想是一趟查询将行号原创 2017-05-16 18:22:17 · 5144 阅读 · 0 评论