2012年4月12日
摘要: 在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。1、Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下:CREATESEQUENCE seqTestINCREMENTBY1--每次加几个STARTWITH1--从1开始计数NOMAXvalue--不设置最大值NOCYCLE--一直累加,不循环CACHE10;--设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE2、得到Sequence值定义好s 阅读全文
posted @ 2012-04-12 16:09 猥琐丶欲为 阅读(166183) 评论(1) 推荐(9) 编辑
摘要: 由于Oracle中没有TopN,所以只能考虑用rownum伪列:1)select * from dept;2)select * from dept where rownum=1 or rownum=2;3)select * from (select * from dept order by dname)where rownum <4;4)select * from dept where rownum<4 order by dname desc;注意:不建议使用此方法,使用3较好,可以达到同样的效果。 阅读全文
posted @ 2012-04-12 12:23 猥琐丶欲为 阅读(1565) 评论(2) 推荐(0) 编辑
摘要: Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数。主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。下面简单介绍一下几个函数的用法。在介绍这个之前你必须明白什么是oracle中的空值null1.NVL函数NVL函数的格式如下:NVL(expr1,expr2)含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。例如:SQL> select ename,NVL(comm, -1) from emp;ENAME NVL(COMM,-1)——— 阅读全文
posted @ 2012-04-12 11:10 猥琐丶欲为 阅读(1334) 评论(0) 推荐(0) 编辑