用oracle建表,该如何实现自动编号?

用access建表的,在数据类型里面可以选择“自动编号”,如果用oracle建表,该如何实现自动编号?请大家指教,谢谢
---------------------------------------------------------------

第一步:创建SEQUENCE
create sequence s_country_id increment by 1 start with 1 maxvalue 999999999;
第二步:创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE
create or replace trigger bef_ins_t_country_define
before insert on t_country_define
referencing old as old new as new for each row
begin
select s_country_id.nextval into :new.country_id from dual;
end;
/

第二不也可以不做
插入数据的语句这样写insert into tb... values( s_country_id.nextval,...);
---------------------------------------------------------------

自动加1字段建立?

create table a(b int, cvarchar2(5));

建一个序列

create sequence a_seq increment by 1 start with 100;

建一个触发器

create or replace trigger t_a

before insert on a

for each row

begin

select s_a.nextval into :new.b from dual;

end;

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus