向表中插入记录时,希望使得某列能够自动插入且ID为自增。
1、需求
先创建一个序列,例如 USER_U_ID,然后每次使用如下SQL语句即可完成该功能,

insert into USER(USER_ID, name) values ( USER_U_ID.nextval, '咸菜');

若我们希望如下方式的SQL操作也能插入ID时,则需要另外的解法:
2、实现

insert into USER(name) values ('咸菜');

/==============================================================/
/ 自增序列, USER.USER_ID USER_U_ID.Nextval /
/==============================================================/
create sequence USER_U_ID
minvalue 1
maxvalue 99999999999999999999
start with 1
increment by 1
nocache;

/==============================================================/
/ 触发器, 实现插入数据时, USER表的USER_ID字段自增 /
/==============================================================/
create or replace trigger trigger_user_insert
before insert on USER
for each row
declare
-- local variable here
begin
-- Column "USER_ID" uses sequence USER_U_ID
select USER_U_ID.nextval into :new.USER_ID from dual;
end trigger_user_insert;

最后修改:2020 年 11 月 16 日 01 : 45 PM