Oracle使用序列和触发器实现自增ID
来源:互联网 发布:同轴电缆传输网络结构 编辑:程序博客网 时间:2024/04/30 11:14
需求:
向表中插入记录时,使得某列能够自动插入ID,并且插入的ID是自增的。
我们可以先创建一个序列,例如 GOODS_GOODS_ID,然后每次使用如下SQL语句即可完成该功能,
insert into Goods(GoodsID, name) values ( GOODS_GOODS_ID.nextval, '农夫烤鸡');
若我们希望如下方式的SQL操作也能插入ID时,则需要另外的解法:
insert into Goods(name) values ('农夫烤鸡');
实现:
首先创建一个序列,然后为表创建一个触发器,当表插入一行时,将序列的nextval的值插入指定列中。
/*==============================================================*//* 自增序列, GOODS.GOODS_ID GOODS_GOODS_ID.Nextval *//*==============================================================*/create sequence GOODS_GOODS_IDminvalue 1maxvalue 99999999999999999999start with 1increment by 1nocache;/*==============================================================*//* 触发器, 实现插入数据时, Goods表的Goods_ID字段自增 *//*==============================================================*/create or replace trigger trigger_goods_insert before insert on GOODS for each row declare -- local variable herebegin -- Column "Goods_ID" uses sequence GOODS_GOODS_ID select GOODS_GOODS_ID.nextval into :new.Goods_ID from dual;end trigger_goods_insert;
参考:
http://blog.csdn.net/zhangjunfangkaixin/article/details/4084211
- Oracle使用序列和触发器实现自增ID
- oracle数据库创建序列和触发器实现id自增
- oracle创建序列和触发器使主键ID自增
- oracle 创建触发器和序列(id自增)
- Oracle使用触发器实现id自增长
- Oracle使用触发器实现ID自增的问题
- 【Oracle】利用触发器,序列实现id自增长
- Oracle序列和触发器实现表的主键自增
- 创建序列和触发器实现Oracle字段自增功能
- oracle 利用序列和触发器实现主键自增demo
- oracle通过序列和触发器实现自增主键
- Oracle实现自增方式:序列+触发器
- 通过序列和触发器实现Oracle主键自增长
- oracle中使用序列和触发器实现单个字段值自增长
- 使用Oracle 序列 和 触发器实现 字段自增长的方法
- oracle创建触发器实现字符串ID自增…
- oracle使用序列和触发器使表主键自增长
- Oracle使用sequence(序列)+tirgger(触发器)实现auto_increment(主键自增)
- 如何从 wchar_t * 转换为其他字符串类型
- mysql中大小写敏感么?
- iphone开发 UIActionSheet(操作表) 和UIAlertView(警告)的用法
- Apache2 虚拟主机配置的例子
- java反射机制
- Oracle使用序列和触发器实现自增ID
- 性能测试的过程模型
- IT学习
- MySQL在MacOS上的安装记录
- 通过js控制节点显隐
- 如何加强开发部门与运营部门的协同工作 - TechExcel DevOps 解决方案
- question and answers about population genetics (for personal use)
- stdarg.h中三个宏va_start ,va_arg和va_end
- Java垃圾回收机制