Oracle常用函数及操作命令简单整理

其中(1)、(2)、(3)为定义泛型

(1)定义接口泛型:
public interface IStudent<T> extends Serializable
(2)接口中定义方法
T executeStudent(Student s);
(3)在接口中定义的泛型方法
public <E> E getServiceMethod(Class<E> class).

(4)Oracle常用函数:Decode
如:DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )

(5)Oracle常用函数:NVL
NVL( string1, replace_with)
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。
                 NVL2
NVL2(x,value1,value2)
功能:如果x非空,返回value1,否则返回value2

(6)Oracle常用函数:Round与TRUNC
   Round函数对日期进行“四舍五入”,
   Trunc函数对日期进行截取。
   如果我们不指定格式的话,Round会返回一个最接近date参数的日期   
   Trunc函数只会简单的截取时分秒部分,返回年月日部分。

(7)Oracle消除重复号
  select distinct deptno from emp;

(8)创建序列,并使用序列
CREATE SEQUENCE sequence_name
[START WITH num]   //备注从某一个整数开始,升序,默认值是1,降序默认值是-1.
[INCREMENT BY increment]  //增长数
[MAXVALUE num|NOMAXVALUE] //最大值,若nomaxvalue默认,升序最大值10的27次方。
[MINVALUE num|NOMINVALUE]   //指最小值,若nominvalue,降序最小值为-10的26次方。
[CYCLE|NOCYCLE]//表示如果升序达到最大值后,从最小值重新开始;如果是降序序列,达到最小值后,从最大值重新开始。
[CACHE num|NOCACHE]//使用CACHE选项时,该序列会根据序列规则预生成一组序列号。保留在内存中,当使用下一个序列号时,可以更快的

响应。并保存在缓存中,这样可以提高生成序列号的效率。Oracle默认会生产20个序列号。


create sequence sequence_infos start with 1 increment by 1 nocycle cache 30;
select sequence_infos.nextval sequenceValue from dual;

 (9)创建视图:
  CREATE [OR REPLACE]    //如果视图已经存在,则替换旧视图
  [{FORCE|NOFORCE }]     //force即使表不存在,也可创建,但视图不能正常使用,当表创建后,才可用
  VIEW view_name         
  AS
  SELECT 查询
  [WITH READ ONLY CONSTRAINT] //通过视图可以对基表执行增删查改操作,但是有很多在基表上的限制。
                              //如:基表某列不能为空,但该列没有出现在视图中,则不能通过视图进行操作。

如:create or replace view empdetail as
  select empno,ename,job,hiredate,  emp.deptno,dname  from emp join dept on emp.deptno=dept.deptno
 with read only

select * from empdetail;

 

(10)索引:
   第一种情况:如果表中的某些字段经常被查询并作为查询的条件出现时,就应考虑该列。
   第二种情况:当从很多行的表中查询少数行时,也要考虑创建索引。
                 有一条基本的准则是:当任何单个查询要检索的行少于或者等于整个表行数的10%时,索引就非常有用。

   语法:
   CREATE [UNIQUE]                       //UNIQUE指定索引列上的值必须唯一。
     INDEX index_name ON                 //index_name:指定索引名
     table_name(column_name[,column_name]) //指定要为哪个表创建索引。
                                           //column_name指定要对哪个列创建索引。
   
   create unique index uq_ename_idx on emp(name);

 

(11)查看当前用户的序列.

select * from user_sequences

posted @ 2013-09-26 14:59  IT一族  阅读(181)  评论(0编辑  收藏  举报