码迷,mamicode.com
首页 > 数据库 > 详细

Oracle建表[自增序列]

时间:2018-02-07 14:36:13      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:char   nextval   from   sele   enc   date   next   rem   ble   

创建表

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建表[自增序列]

标签:char   nextval   from   sele   enc   date   next   rem   ble   

原文地址:https://www.cnblogs.com/zhuziyu/p/8425734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!