create sequence sq_name increment by 1 start with 1 maxvalue 999999999; 当向表中插入数据时,SQL语句写法如下: SQL> insert into 表名 values(sq_name.nextval,列1值,列2值);
ORACLE没有增量字段,只能通过序列+触发器实现。。
drop table foo; create table foo( id varchar2(20) 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 to_char(foo_seq.nextval) into :new.id from dual; end bifer_foo_id_pk ; / insert into foo(data) values('Chirstopher'); insert into foo(id,data) values(5,'Sean'); select * from foo;
加一个自动增加的id号 第一种方法: 第一步:创建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; /
increment by 1
start with 1
maxvalue 999999999; 当向表中插入数据时,SQL语句写法如下:
SQL> insert into 表名 values(sq_name.nextval,列1值,列2值);
id varchar2(20) 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 to_char(foo_seq.nextval) into :new.id from dual;
end bifer_foo_id_pk ;
/ insert into foo(data)
values('Chirstopher'); insert into foo(id,data)
values(5,'Sean'); select * from foo;
友情UP---too~~~
好用!
第一种方法:
第一步:创建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;
/