Oracle自增ID实现
2016-06-29 14:34
417 查看
首先,创建一张表:
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 | 李四 |
相关文章推荐
- python3.4 访问 oracle11g
- xmanager配置xstart调出oracle图形化界面安装
- ORACLE常见的六种RMAN恢复测试
- Oracle体系结构2
- oracle 求男女比例 sql 函数ratio_to_report
- ORACLE体系结构,很详细
- oracle 查询当前记录的上一条记录或下一条记录
- Oracle超出1000列的错误的解决方法
- Oracle 体系结构
- 关于AndroidStudio的Oracle VM VirtualBox和Genymotion配置问题(Win10系统)
- oracle11g 修改密码后登录的TNS-12535: TNS:operation timed out问题
- Oracle使用Java发送短信
- oracle体系结构详解
- oracle中的表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)
- Oracle 用户权限分配
- DECODE函数 oracle
- Oracle 列转行函数 Listagg()
- Oracle 删除重复数据只留一条
- oracle存储过程中提示“权限不足”的解决办法
- 一个不安装Oracle客户端的方法------未经试验