oracle设置字段值递增

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值