Oracle建表[自增序列]

Posted Talk is cheap. Show me the cod

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle建表[自增序列]相关的知识,希望对你有一定的参考价值。

创建表

1 create table VACATIONSDAY
2 (
3   fldid    NUMBER(22) not null,
4   fldname  varchar2(200),
5   fldbegindata date,
6   fldenddata date,
7   fldselectid  number(10)
8 );

创建序列自增

1 CREATE SEQUENCE vacationsday_Sequence
2   INCREMENT BY 1 -- 每次加几个 
3   START WITH 1 -- 从1开始计数 
4   NOMAXVALUE -- 不设置最大值 
5   NOCYCLE -- 一直累加,不循环 
6   CACHE 100; 

创建触发器

create or replace trigger vacationsday_trigger    
--users_trigger    触发器名称
before insert on vacationsday                  
--users是表名
for each row
declare
nextid number;
begin
IF :new.fldid IS NULL or :new.fldid=0 THEN                
 --userid是列名
select vacationsday_Sequence.nextval                                              
--user_Sequence 正是刚才创建的序列
into nextid
from sys.dual;
:new.fldid:=nextid;
end if;
end users_trigger ;

 

以上是关于Oracle建表[自增序列]的主要内容,如果未能解决你的问题,请参考以下文章

oracle自增主键从多少开始

oracle怎么实现id自增和设置主键啊

oracle自增长

Oracle 建表sql+自增主键

oracle sql 创建表格 oracle建表设置主键自增

oracle数据库,表中有id(自增字段,主键), insert 语句插入一条记录后要求,返回当前插入记录的id値。