首页 > 代码库 > 关于设置oracle中系统编号SYSID自动编号的问题;

关于设置oracle中系统编号SYSID自动编号的问题;


http://liye9801.blog.163.com/blog/static/601970320086210039591/

如何在oracle里设置自动编号列

2008-07-21 12:00:39| 分类: Oracle | 标签: |字号 订阅

 
 

我们知道在oracle里没有这个类型呀!所以我们只能想其他的办法! 
趏raclek中,为了方便我常常用触发器及序列结合起来实现,下面就是一个示例,希望对兄弟们有帮助。。。 
先建表、再建序列、然后是触发器,最后测试

============================================= 
--为主键指定序列编号 
--2003-10-8 15:53 
============================================= 

conn scott/tiger@powermis 

drop table foo; 

create table foo( 
id number primary key, 
data varchar2(100)); 

create sequence foo_seq; 

create or replace trigger bifer_foo_id_pk

 
before insert 
on foo 
for each row 
begin 
select foo_seq.nextval into :new.id from dual; 
end; 

 

 

用于测试使用:

insert into foo(data) 
values(’Chirstopher’); 

insert into foo(id,data) 
values(5,’Sean’); 

select * from foo; 

 

用sql语句写的 在命令 窗口;

实例::::

 

    create sequence T_AUCTIONAREA_SYSID_SEQ

    minvalue 1

    maxvalue 999999999999

   start with 1

   increment by 1

   cache 20;

 

 

 

 

create or replace trigger T_AUCTIONAREA_SYSID

    before insert

    on T_AUCTIONAREA

     for each row

    begin

   select T_AUCTIONAREA_SYSID_SEQ.nextval into :new.SYSID from dual;

  end;

   /