数据表的字段自增长-sequence
2013-12-04 15:59
218 查看
MySQL、SQLServer 这些数据库的字段都有自增长属性,oracle则用另一种方式实现字段自增长的,这就是sequence对象。
创建sequence CREATE SEQUENCE 序列名称 INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10 -- 缓存10个序列 NOORDER; --并行时取得序列的顺序
CREATE SEQUENCE TABLE1_SEQ
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 100
NOORDER
使用 sequence INSERT INTO emp VALUES (empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20); SELECT empseq.currval FROM DUAL;
不能在表字段默认值(DEFAULT)中使用顺列号(某某sequence.Next) 要想在增加记录时,自动取得自增量,需使用触发器。例如:
Create SEQUENCE SEQUENCE名称
MINVALUE 1
MAXVALUE 1.0E28
Start With 1
INCREMENT By 1
CACHE 20;
Create or Replace Trigger 触发器名
Before Insert On 表
For Each Row
Begin
Select SEQUENCE名称.Nextval Into :New.表的自增字段名 From DUAL;
End;
创建sequence CREATE SEQUENCE 序列名称 INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10 -- 缓存10个序列 NOORDER; --并行时取得序列的顺序
CREATE SEQUENCE TABLE1_SEQ
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 100
NOORDER
使用 sequence INSERT INTO emp VALUES (empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20); SELECT empseq.currval FROM DUAL;
不能在表字段默认值(DEFAULT)中使用顺列号(某某sequence.Next) 要想在增加记录时,自动取得自增量,需使用触发器。例如:
Create SEQUENCE SEQUENCE名称
MINVALUE 1
MAXVALUE 1.0E28
Start With 1
INCREMENT By 1
CACHE 20;
Create or Replace Trigger 触发器名
Before Insert On 表
For Each Row
Begin
Select SEQUENCE名称.Nextval Into :New.表的自增字段名 From DUAL;
End;
相关文章推荐
- 数据表的字段自增长-sequence
- SQL server插入数据后,如何获取自增长字段的值
- oracle:sequence、触发器与自动增长字段
- SQL server插入数据后,获取自增长字段的值
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 对有自增长字段的表导入数据注意事项
- 实现插入新数据字段自增长的触发器(Oracle)
- sql server 中遇到表中有自动增长的字段,如何插入数据
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 对有自增长字段的表导入数据注意事项
- SQL server插入数据后,如何获取自增长字段的值?
- 在 Hibernate 中使用 oracle 的 sequence 产生主键实现 SQL Server 自增长字段功能
- ORACLE利用Sequence实现字段自增长
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 对有自增长字段的表导入数据注意事项
- 从别的数据库导入数据时主键和自增长字段属性丢失问题
- 当插入数据失败时,防止mysql自增长字段的自增长的方法
- 【代码分享-SQL】(已有数据)表的[ID]字段变更为‘自增长’ 推荐
- 数据表自增长字段值不连续之填充思路
- SQL server插入数据后,如何获取自增长字段的值?