Oracle自增ID实现
2012-05-22 16:58
211 查看
首先,创建一张表:
CREATE TABLE example(
ID Number(4) NOT NULL PRIMARY KEY,
NAME VARCHAR(25));
然后,自定义一个序列(sequence):
CREATE SEQUENCE example_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区
再创建一个触发器:
CREATE TRIGGER example_triger BEFORE
INSERT ON example FOR EACH ROW WHEN (new.id is null)--只有在id为空时,启动该触发器生成id号
begin
select example_sequence.nextval into: new.id from dual;
end;
测试一下,插入数据
insert into example(name) values('张三');
insert into example(id, name) values(111,'李四');
输入查询语句:
select t.* from EXAMPLE t
结果是:
CREATE TABLE example(
ID Number(4) NOT NULL PRIMARY KEY,
NAME VARCHAR(25));
然后,自定义一个序列(sequence):
CREATE SEQUENCE example_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区
再创建一个触发器:
CREATE TRIGGER example_triger BEFORE
INSERT ON example FOR EACH ROW WHEN (new.id is null)--只有在id为空时,启动该触发器生成id号
begin
select example_sequence.nextval into: new.id from dual;
end;
测试一下,插入数据
insert into example(name) values('张三');
insert into example(id, name) values(111,'李四');
输入查询语句:
select t.* from EXAMPLE t
结果是:
id | name |
1 | 张三 |
111 | 李四 |
相关文章推荐
- ORACLE 中,数据的id号自动生成,利用触发器的实现
- oracle 实现ID自增
- oracle中使用序列实现id自增
- Oracle实现插入记录ID自增长
- Oracle自增ID实现(转载)
- Oracle用auto_increment实现ID自增
- 插入数据到oracle,实现id字段自增的方法
- oracle中实现id自增主键
- Oracle 手动实现自动增长列(Idnetity)
- Oracle自增ID实现
- Oracle 实现ID 字段自增长
- Oracle使用触发器实现ID自增的问题
- oracle如何实现插如记录时ID自增
- Oracle 表创建序列-触发 实现表ID自动增长
- oracle 实现id自增
- Oracle自增ID实现
- Oracle自增ID实现
- Oracle自增ID实现
- 如何在Oracle 中实现类似自动增加 ID 的功能?
- Oracle使用触发器实现id自增长