公司现在项目数据库使用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’);
oracle自增id
最新推荐文章于 2024-08-04 22:04:36 发布