创建理想的SEQUENCE和自增长的trigger
SEQUENCE
CREATE SEQUENCE TEST_SEQ
START 1 --从1开始,第一个一定是NEXTVAL,因为第一个CURRVAL不好使,返回值会是1,第一个NEXTVAL相当于从最开始到第一个值,也就是1
INCREMENT BY 1 --以1为递增长值
MINVALUE 0 --如果设置NOMINVALUE就是最小值1,设置最小值为0,可以保证reset序列时让值回归到0,这样下一个值NEXTVAL会是1,否则就是2了
NOMAXVALUE --默认无数个9999
NOCACHE --不使用缓存
;
TRIGGER
create trigger AAA_TRI
BEFORE insert on AAA --这里的顺序一定要是BEFORE,一定要在插入之前获取序列,要是在没获取序列之前插入,是错误的
for each row
BEGIN
select AAA_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL; END;
创建理想的SEQUENCE和自增长的trigger的更多相关文章
- ORACLE SEQUENCE用法 (自增长)
在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没有关系. 1.Create Sequence 首先要有CREATE SEQUENCE或者CREATE ...
- PowerDesigner 创建表的时候 没有自增长Id的设置项
今天早上同事创建表的时候,在那个界面没有自增长Id的选项,当时我也纳闷,软件肯定都是一样的,设置的步骤都一样(有些配置好的 我就没改过 然后就忘了还改过些什么步骤了),结果还是没有那个选项 百度了一下 ...
- 创建Oracle序列sequence
create sequence SEQ_ID minvalue 1 maxvalue 99999999 start with 1 increment by 1 nocache order; 建解发器代 ...
- 创建table并实现ID自增长
① create table p_user( id number(10) not null primary key, name varchar2(3 ...
- 【postgresql】创建自增SEQUENCE
CREATE SEQUENCE circlefence_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; alte ...
- Mybatis中 sequence不能自增长
解决方案: 参考: http://leeyee.github.io/blog/2013/08/22/mybatis-auto-increment-primary-key/ <insert id= ...
- Oracle表格字段采用sequence进行自增长时,采用Dbutils进行insert或update数据时的处理技巧
// 定义插入记录的方法 public Teacher insert(String name, String gender, Double score) { // 获得连接 Connection co ...
- Oracle序列(Sequence)创建、使用、修改、删除
Oracle对象课程:序列(Sequence)创建.使用.修改.删除,序列(Sequence)是用来生成连续的整数数据的对象.序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成.创建序 ...
- Oracle 给已创建的表增加自增长列
对于已经创建的表,在特殊需求下,需要增加一个自增长列步骤: --1. 增加 自增长列 ); --2. 程序方式更新设置 IdNum 列 值 --3.查询最大 ) From Limsbusinessen ...
随机推荐
- 前端工程师须知pc电脑端分辨率
PC端 按屏幕宽度大小排序(主流的用橙色标明) 分辨率 比例 | 设备尺寸 1024*500 (8.9寸) 1024*768 (比例4:3 | 10.4寸.12.1寸.14.1寸.15寸; ) ...
- deque双向队列(转)
deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque的实现比较复杂,内部会维 ...
- android开发利器--站在巨人肩膀上前行
本文主要介绍有助于android开发的三方平台和站点. 一:开发阶段 1:SVN(一个开放源码的版本号控制系统) 团队开发没有server,代码管理就没那么方便了,推荐taocode阿里开源站点,方便 ...
- Web定时执行某个方法-网页获取
实现该功能用到的是System.Timers.Timer 将定时的方法添加到Global.ascx.cs中 public class Global : System.Web.HttpApplicati ...
- C# 想要程序文件移动 而数据保持相对位置
如果用的数据库是access数据库 可以把数据库文件放到bin\debug下面,引用相对位置就可以了 如果程序中有上载文件,而程序需要使用到该文件,那么我们最好也是引用相对文件,我们只需要在数据表中的 ...
- js 下拉框效果
<script type="text/javascript"> window.onload = function () { ]; ]; var aLi = oSub.g ...
- iOS网络请求之---GET和POST
get是从服务器上获取数据,post是向服务器传送数据.前者把参数数据加在了将参数直接写在访问路径上.操作简单,不过容易被外界看到,安全性不高,地址最多255字节,后者则是将参数放到body里面.PO ...
- 基础知识——Cocos2d-x学习历程(三)
1.场景与流程控制 我们把一些内容相对不变的游戏元素集合称作场景(scene),把游戏在场景之间切换的过程叫做流程控制(flow control). 在Cocos2d-x中,场景的实现是Scene. ...
- Oracle SQL CPU占用高
Oracle数据库经常会遇到CPU利用率很高的情况,这种时候大都是数据库中存在着严重性能低下的SQL语句,这种SQL语句大大的消耗了CPU资源,导致整个系统性能低下.当然,引起严重性能低下的SQL语句 ...
- 在Linux下使用iconv转换字符串编码
在Linux下写C程序,尤其是网络通信程序时经常遇到编码转换的问题,这里要用到iconv函数库. iconv函数库有以下三个函数 123456 #include <iconv.h>icon ...