201608-04 oracle递归查询,找出符合条件的用户 table1表示用户关系,是一个二叉树的关系,每一个父节点最多只会有2个子节点。 table2表示用户的钱。MONEY 表示用户自己的钱,ALLmoneY表示该用户 以及该下级所有用户的钱,RID表示用户注册先后顺序 需求:.... Read More >
201607-21 oracle wmsys.wm_concat 报错ora-22813的解决办法 oracle在用wm_concat拼接的时候,由于字符过长,会报ora-22813的错误,我用了一个自定义的type和函数解决这个问题: 然后直接用dj_concat函数代替wm_concat函数就可以了。.... Read More >
201605-26 oracle正则表达式,提取连续4个及以上的数字。 oracle正则表达式,提取连续4个及以上的数字。比如: 13714412345 提取12345 13714412349 提取1234 12714495167 不提取 13448987644 提取9876 .... Read More >
201604-28 oracle 11.2.0.4 一个还未解决的number数据类型BUG 说时迟那时快,oracle也经过很多过年头了,俗话说世界上没有 没有bug的产品,oracle虽然沉淀了这么多年,依然每个版本或多或少都有bug。 此个bug出现是oracle 11.2.0.4,当然其他版本我没有测试,可能也有这个问题。 BUG:oracle的数据类型number,当字段定义为number(18,4),当然也可以定义为其他长度,只要满足整数类型必须大于12位,且有小数.... Read More >
201508-12 又一个connect_by_root适用案例! 有的需求实现起来并不复杂,关键是要结合所掌握的知识,把需求和知识融在一起,能想到好的思路才是王道。 先看一点测试数据: 测试数据很简单,shangji表示的就是上级用户,xiaji表示当前用户的下级,qishu表示当前是多少期,price表示绩效。 需要实现的结果如下: [crayon-6073f77a8c59e7.... Read More >
201508-05 Oracle递归sql深入案例! 前面大致说了下简单的递归sql写法,下面看另一个需求! 上图为测试数据,userid表示用户id,topuid表示上级用户id,leftuid表示左下级节点用户id,rightuid表示右下级用户id,tjuid表示推荐用户id。如果用图形来表示关系的话,上图中的数据就是二叉树的结构。.... Read More >
201507-14 Linux虚拟机突然查询不了ip? 由于平时在家需要学习,自从搭建了oracle rac之后,已经有一段时间没有管理了,今天在使用虚拟机做实验的时候,突然发现oracle启动不起来,随机检查了一下,发现虚拟机没有分配ip了。ip我是静态指定的 使用ifconfig查看不到ip,但我已经指定了网卡的ip,尝试着重启一下网卡[crayon-6073f77a8f1e69693.... Read More >
201507-05 Oracle 递归查询的用法 Oracle数据库中常要处理一些父子关系的记录,在OLTP中要用得多一些,oracle提供了递归查询可以很容易的满足这个需求,oracle的递归查询通过start with connect by prior 实现。我们先来看看emp表的例子: emp表中MGR列表示了当前员工的上级编号,现.... Read More >
201412-17 Oracle in 和 exists执行效率,到底谁高? 在测试之前,我们先来了解下执行计划中的filter,以前也说过,这里先温习下filter。不过如果有面试问到这个问题:到底in效率高还是exists效率高?这个问题希望你可以在这里找到答案,先来看filter吧。 1. 创建2个测试表,并给test2创建索引 2. 查看执行计划[crayon-6073f77a94a4b65608394.... Read More >
201410-23 Oracle求日期的平均值 如何求Oracle日期的平均值?相比做过开发的都碰到过,比如需要求平均的开始时间是多少?因为Oracle当中不能直接对时间进行avg,所以需要把时间转换成秒,然后进行运算,看如下例子。 1. 创建测试表,插入数据 2. jerry_test表中有begin_time和en.... Read More >