Oracle 创建表和插入的相关注意事项

2014-11-24 18:36:13 · 作者: · 浏览: 0

二、建立主键自增


ORACLE SEQUENCE的简单介绍


在Oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。


1、Create Sequence


你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,


CREATE SEQUENCE emp_sequence


INCREMENT BY 1 -- 每次加几个


START WITH 1 -- 从1开始计数


NOMAXVALUE -- 不设置最大值


NOCYCLE -- 一直累加,不循环


CACHE 10;


一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL


CURRVAL=返回 sequence的当前值


NEXTVAL=增加sequence的值,然后返回 sequence 值


比如:


emp_sequence.CURRVAL


emp_sequence.NEXTVAL


可以使用sequence的地方:


- 不包含子查询、snapshot、VIEW的 SELECT 语句


- INSERT语句的子查询中


- NSERT语句的VALUES中


- UPDATE 的 SET中


下面是简单的例子:


CREATE OR REPLACE TRIGGER news_id BEFORE
INSERT ON news FOR EACH ROW
when (new.id is null)
begin
select emp_sequence.nextval into:new.id from dual;
end;


三、在插入时间类型是:to_date('2012-03-21','yyyy-mm-dd') 。最后将要增加的内容增加完之后 要提交--commit ;