实现表字段的自动加1有两种思路:都会用到序列sequence。
首先,准备一个table。 create table t_test ( id number,info varchar2(10));
其次,创建一个sequence。create sequence seq_test_id increment by 1start with 1 maxvalue 999999999;
方法一:在使用SQL语句进行插入的时候,使用sequence的值。
insert into t_test (id,info) values ( seq_test_id.nextval, 'test information');
方法二:使用触发器,在用户使用insert语句的时候出发事件使得插入的值中目标键值(id)为seq_test_id.nextval。
创建触发器的代码如下:
create or replace trigger tri_bef_ins_t_test
before insert on t_test
referencing old as old new as new for each row
begin
select seq_test_id.nextval into :new.id from dual;
end;
/
在程序中直接插入数据即可。
首先,准备一个table。 create table t_test ( id number,info varchar2(10));
其次,创建一个sequence。create sequence seq_test_id increment by 1start with 1 maxvalue 999999999;
方法一:在使用SQL语句进行插入的时候,使用sequence的值。
insert into t_test (id,info) values ( seq_test_id.nextval, 'test information');
方法二:使用触发器,在用户使用insert语句的时候出发事件使得插入的值中目标键值(id)为seq_test_id.nextval。
创建触发器的代码如下:
create or replace trigger tri_bef_ins_t_test
before insert on t_test
referencing old as old new as new for each row
begin
select seq_test_id.nextval into :new.id from dual;
end;
/
在程序中直接插入数据即可。