你的位置:首页 > 数据库

[数据库]Oracle在表上建立自增字段的方法


本方法为使用SEQUENCE(序列)
 
例如有表temp_test结构为:
create table TEMP_TEST
(
id number,
nm varchar(10),
primary key(id)   //id为主键,下面的方法把它设为自增字段
)
 
 
1、建立自增序列TEMP_TEST_IDADD,命名任意,从1开始,每次加1
CREATE SEQUENCE TEMP_TEST_IDADD INCREMENT BY 1 START WITH 1;
 
2、在表temp_test上建立触发器如下
CREATE OR REPLACE TRIGGER T_TEMP_TEST_IDADD
BEFORE INSERT ON TEMP_TEST
FOR EACH ROW
BEGIN
SELECT TEMP_TEST_IDADD.NEXTVAL INTO :NEW.ID FROM DUAL;
END T_TEMP_TEST_IDADD;
 
 
测试效果:
往temp_test表中新增数据,执行以下语句两次
insert into TEMP_TEST(nm)
values('ss');
 
结果如下: