oracle设置字段递增,相对mysql比较麻烦:
mysql只需要选择自动递增,但oracle需要创建序列和触发器
1、创建一个表
create table T_RPT_TPYE_USER(
USER_ORDER_ID int ,
DeptNo number,
EmpNo number,
Ename varchar2(16),
Job varchar2(32),
Sal float,
HireDate date,
constraint pk_employee primary key(T_RPT_TPYE_USER)
);
2、创建序列
create sequence T_RPT_TPYE_USER_autoinc
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
nocache;
3、创建触发器并触发执行
这里可以看到:
- 1、作用的表在before insert on 后面,即T_RPT_TPYE_USER
- 2、作用的字段是new.的后面,即USER_ORDE__ID
create or replace trigger insert_T_RPT_TPYE_USER_autoinc
before insert on T_RPT_TPYE_USER
for each row
begin
select T_RPT_TPYE_USER_autoinc.nextval into :new.USER_ORDER_ID from dual;
end insert_T_RPT_TPYE_USER_autoinc