oracle自增id

公司现在项目数据库使用oracle,oracle实现表主键自增比mysql麻烦
mysql 在表主键auto_increment 打钩即可。oracle没有改属性,就相对麻烦。特此记录一下自增方法
测试案例如下
第一步创建一张测试表t_demo
sql语句
create table t_demo(
id int not null,
name varchar2(20),
sex varchar2(4)
)
添加表注释、字段注释
comment on table t_demo is ‘测试表 稍后会删除’
comment on column t_demo.name is ‘姓名’
comment on column t_demo.sex is ‘性别’
第二步:创建序列
CREATE SEQUENCE SYSTEM.DEMO_ID
INCREMENT BY 1
MINVALUE 1
MAXVALUE 9999999999999999999999999999
NOCYCLE
NOCACHE
ORDER ;
– 查询序列
select DEMO_ID.nextval from dual;
第三步:创建触发器
ALTER SESSION SET CURRENT_SCHEMA=SYSTEM;
CREATE OR REPLACE trigger demo_tg
before insert on t_demo
for each ROW
declare
begin
select DEMO_ID.nextval into:New.id from dual;
END;
第四步:测试开始  插入两条数据
insert into t_demo(name,sex) values (‘zhangsan’,‘nan’);
insert into t_demo(name,sex) values (‘lisi’,‘nan’);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值