与SQL SERVER数据库不同,Oracle数据库没有提供自动增长列的功能,但是它可以通过一些设置来实现。Oracle中创建自动增长主要有两部分:1,创建序列(取得增长的数据),2,创建存储过程(保存自动执行序列),接下来我们就开始介绍这一过程。
1.创建序列
CREATE SEQUENCE my_seq ----以my_seq为名创建序列
START WITH 1 ----从1开始递增,可以是其他数字
INCREMENT BY step ----步进为1
MAXVALUE 99999999999 [NOMAXVALUE] ----递增的最大值,NOMAXVALUE没有最大值
NOCYCLE ----CYCLE在有最大值时,达到最大值99999999999后循环从1开始再次递增,NOCYCLE不循环
CACHE 20 ----缓存,默认为20
NOORDER;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
2.创建存储过程
CREATE TRIGGER my_trigger BEFORE INSERT ON table_name FOR EACH ROW
BEGIN
SELECT my_seq.NEXTVAL INTO :NEW.column_name FROM DUAL
END
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
这样就完成了,在插入的时候column_name字段就可以自动增长了。
关于Oracle数据库创建自动增长列的知识就介绍到这里,如果想了解更多Oracle数据库的知识,可以看一下这里的文章:http://database.51cto.com/oracle/,您的收获就是我们最大的快乐!
【编辑推荐】