Oracle实现table中的自动编号

2014-11-24 18:25:33 · 作者: · 浏览: 0

这是个简单的功能,就是利用自动增长列和触发器来实现。


1.首先创建一个简单的表格users


primary key设置主键


not null不允许为空


default 设置默认值


2.然后创建自动增长列


从1开始


每次增长1


最小值为1


没有最大值


不设置缓存


3.创建触发器


create or replace 是创建或替换的意思,没有就创建,有就替换掉


当在system.users这个表的


每一行中执行插入之前


检查当前(new代表当前的,也就是users)表格中的userid是否为null,如果是


开始执行


将从自动增长列中查询获得下一个数并赋给当前的userid


执行结束


至于from dual这个完全是为了语法的统一。dual没有什么意义。


4.测试