decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。所以,对于新手来说,这个函数还是要知道的。

DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,…,else)
意思是:如果value 等于if1时,DECODE函数的结果返回then1,…,如果不等于任何一个if值,则返回else。类似java里面的流程结构控制的switch.继续阅读

Share

      我们做数据库维护的时候,通常需要备份一个表,包括数据。这里我们可以用
SELECT INTO OBOG_IMG FROM OBOG_IMG_WORK;
COMMIT;

      这样是创建了一个OBOG_IMG_WORK表,而且这个表的结构和数据跟OBOG_IMG表是一模一样的。但是当我们需要把一个表的数据copy到另外一个表的时候(假设另外一个表存在),这里我们就不能用这个方法了。同样很简单:
INSERT INTO OBOG_IMG SELECT * FROM OBOG_IMG_WORK;
COMMIT;

      其实是很简单的东西,就是容易弄混淆。。。。:)继续阅读

Share

在Oracle中,要按特定条件查询前N条记录,用个rownum就搞定了。 select * from emp where rownum < = 5
那我要取N记录之后的呢?是不是rownum用”>” 即 select * from emp where rownum > 5 就搞定了呢??
答案是否定的!
先看看rownum的使用规则:

1 Oracle executes your query.
2 Oracle fetches the first row and calls it row number 1.
3 Have we gotten past row number meets the criteria? If no, then Oracle discards the row, If yes, then Oracle return the row.
4 Oracle fetches the next row and advances the row number (to 2, and then to 3, and then to 4, and so forth).
5 Go to step 3.

继续阅读

Share