oracle数据库表用序列实现主键自增张
2015-12-17 19:09
567 查看
oracle数据库表用序列实现主键自增张
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
(2012-03-08 17:39:16)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
转载▼
标签:
| 分类: oracle数据库 |
oracle中没有自增字段,可通过序列+触发器间接实现,一般要经过一下几步:
注意:序列和触发器必须建立在同一个用户名下否则运行出错
1建立数据表
create table 表名(
userid number(10) primary key,
username varchar2(20)
);
2创建自动增长序列
CREATE SEQUENCE 序列名
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
3创建触发器
CREATE TRIGGER 触发器名 BEFORE
insert ON 表名 FOR EACH ROW
begin
select 序列名.nextval into:New.主键名from dual;
end;
4 提交
commit;
5 测试
反复执行如下语句:
insert into Test_Increase(Username) values('test')
6 查看插入结果:
userid username
1 test
2 test
3 test
4 test
5 test
6 test
7 test
8 test
9 test
相关文章推荐
- Oracle中的IF...THEN...ELSE判断
- oracle序列详解和创建自增主键
- Oracle常用查看表结构命令
- oracle 窗口函数 (keep)
- oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)
- kill oracle jobs
- Oracle的数据表中行转列与列转行的操作实例讲解
- 解决Oracle创建视图(VIEW)权限不足的方法
- 关于Oracle中in和exists的区别
- Oracle授权 同义词
- oracle 常用表操作
- oracle带参数的存储过程
- ORACLE函数之日期时间运算函数
- Oracle 11g R2 64位在 win7 64位的安装流程图解
- ORACLE数据库事务隔离级别
- oracle存储过程continue
- MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK.
- Oracle练习
- ORACLE数据库实例服务无法启动问题解决思路
- 无法创建链接服务器 "TEST" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例