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

oracle中如何指定表字段自增

时间:2016-12-20 20:42:09      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:com   char   str   select   efault   art   sch   ext   create   

背景介绍:

 

SQL SERVER可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键,有利于我们进行数据的插入操作。MySql中可以使用“auto_increment”即可。但是oracle有点麻烦,需要使用序列和触发器达到目的。

 

--学校表

create table school(sid number(4),sname varchar2(400 char), check_status number(1) default 0 check( check_status in(0,1)),accountant varchar2(20 char),pwd varchar2(20 char),email varchar2(30 char),photo_path  varchar2(800 char),
constraint pk_t_school primary key(sid));


-- 序列   (序列与触发器实现school表中sid字段的自动增长)
create sequence shool_sid_autoinc
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
nocache;


--触发器  (序列与触发器实现school表中sid字段的自动增长)
create or replace trigger insert_shool_sid_autoinc
before insert on school
for each row
begin
select shool_sid_autoinc.nextval into :new.sid from dual;

end;

/

--  测试结果

SQL> insert into school values(100,‘a‘,0,001,001,‘964955634@qq.com‘,66666);


1 row created.


SQL> insert into school values(100,‘aaaaaaaaaaaaaaaaaaaaa‘,0,001,001,‘964955634@qq.com‘,66666);
1 row created.


SQL> select sid from school;


       SID
----------
1
2

 

Ok,结束。 转载请标明出处

oracle中如何指定表字段自增

标签:com   char   str   select   efault   art   sch   ext   create   

原文地址:http://www.cnblogs.com/andy6/p/6204039.html

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