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

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

(1)定义接口泛型:

public interface IStudent extends Serializable

(2)接口中定义方法

T executeStudent(Student s);

(3)在接口中定义的泛型方法

public E getServiceMethod(Class 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值