加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle ID 自增

发布时间:2020-12-12 13:44:10 所属栏目:百科 来源:网络整理
导读:实现Oracle Id自增 1、方法一 create table app_student ( id integer generated by default as identity not null primary key, createtime DATE not NULL ); insert into app_student(createtime) values(sysdate); ? 2. 方法二 创建序列 创建表 CREATE TA

实现Oracle Id自增

1、方法一

create table app_student
(
id integer generated by default as identity
not null primary key,
createtime DATE not NULL
);

insert into app_student(createtime) values(sysdate);

?

2. 方法二 创建序列

创建表

CREATE TABLE APP_USER(
  ID number(20) NOT NULL PRIMARY KEY,Create_Time date NOT NULL
  
);

  

--创建序列
create sequence seq_app_user
minvalue 1000
nomaxvalue
start with 1000
increment by 1
nocycle --一直累加,不循环
--nocache --不缓存
cache 10; --缓存10条

  

创建触发器

--创建触发器,如果insert语句不知道ID自动插入增长值
CREATE OR REPLACE TRIGGER tr_app_user
BEFORE INSERT ON app_user FOR EACH ROW When (new.ID is null)
begin
  select seq_app_user.nextval into:new.ID  from dual;
end;

  

插入数据:

ID的格式由序列控制

insert into APP_USER(  Create_Time)
values( sysdate)

  

自己控制ID的格式

insert into APP_USER( ID,Create_Time)
values(to_number(to_char(sysdate,‘yyyymmddhh24miss‘) + seq_app_student.nextval),sysdate)

 id的格式为时间+序列 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读