实现Oracle Id自增

1、方法一(Oracle Version Oracle 12c版本支持)

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的格式为时间+序列 

最新文章

  1. Entity Framework 6 Recipes 2nd Edition(10-2)译 -> 返回输出参数
  2. CString.Format
  3. program testy data
  4. SQL group by分组查询(转)
  5. nyoj---t448(寻找最大数)
  6. Use windows batch script to create menu
  7. .NET DataTable转化为json格式
  8. opencv 用户文档 错误更正 仿射变换
  9. on方法使用注意事项
  10. 【JBoss】数据库连接配置小结(转)
  11. php操作Memcache的一个类库
  12. python高级编程
  13. 看Spring注解之IOC记录
  14. Jenkins的构建编号和一个有趣的bug
  15. 牛客小白月赛12C (线性筛积性函数)
  16. 4.BeanPostProcessor 后处理Bean
  17. 使用INTERSECT运算符
  18. Logistic回归中损失函数求导证明过程
  19. 为什么 Redis 重启后没有正确恢复之前的内存数据
  20. 【CodeForces】889 C. Maximum Element 排列组合+动态规划

热门文章

  1. tp5 生成缩略图片
  2. Englis(二)
  3. 栈溢出原理与 shellcode 开发
  4. 2.11 alert\confirm\prompt
  5. ubuntu discuz 该函数需要 PHP 支持 XML。请联系空间商,确定开启了此项功能
  6. 【特征提取】MultiBlock-LBP特征
  7. READ–IT: Assessing Readability of Italian Texts with a View to Text Simplification-paper
  8. 【HDOJ1531】【差分约束+添加超级源点】
  9. 《DSP using MATLAB》Problem 5.18
  10. AangularJS入门总结一