Oracle 自增(auto increment) 或 标识字段的建立方法
下面给出ORACLE的一种实现方式,要分2步走:
1. 建立 SEQUENCE CREATE [ OR REPLACE ] SEQUENCE sequence_identity START WITH initial seed INCREMENT BY step MAXVALUE upper bound [NOMAXVALUE] NOCYCLE [empty]
2. 建立 TRIGGER CREATE [ OR REPLACE ] TRIGGER trigger_identity BEFORE INSERT ON table_name FOR EACH ROW BEGIN SELECT sequence_identity.NEXTVAL INTO :new.column_name FROM DUAL; END;
说明:
为了尽量避免 sequence 同名冲突, sequence_identity 命名方式,建议采取
SEQ_UserName_TableName_SequenceName 的形式
trigger_identity 的命名方式,同上。
相关推荐
-
实现oracle数据库字段自增长(两种方式)
程序猿都知道mysql等其他的数据库都有随着记录的插入而表ID会自动增长的功能,反而oracle却没有这一功能,下面通过两种方式来解决字段增长的功能,具体内容情况下文. 因为两种方式都需要通过创建序列来实现,这里先给出序列的创建方式. 复制代码 代码如下: CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n|NOCAC
-
oracle生成动态前缀且自增号码的函数分享
复制代码 代码如下: create or replace Function GetInvitationNO(prev varchar2, num1 varchar2, num2 varchar2, sessionSetting varchar2) Return Varchar2 Authid Current_User Is PRAGMA AUTONOMOUS_TRANSACTION;-- 需要使用"Current_User"的权限防止无法运行"Execute Immediat
-
简单三步轻松实现ORACLE字段自增
第一步:创建一个表. 复制代码 代码如下: create table Test_Table ( ID number(11) primary key, Name varchar(50) not null, Value1 varchar(50) not null ) 第二步:创建一个自增序列以此提供调用函数. 复制代码 代码如下: create sequence AutoID start with 1 //根据需要自己可修改该数值 increment by 1 //步长值 minvalue 1 no
-
oracle中的ID号实现自增长的方法
利用序列产生主键值. 序列(Sequence)是一种可以被多个用户使用的用于产生一系列唯一数字的数据库对象.序列定义存储在数据字典中,通过提供唯一数值的顺序表来简化程序设计工作,可以使用序列自动产生主键的键值.当一个序列第一次被查询调用时,它将返回一个预定值.在随后的每次查询中,序列将产生一个按指定的增量增长的值.序列可以循环,或者是连续增加的,直到指定的最大值为止. 复制代码 代码如下: --创建sequence create sequence seq_on_test increment by
-
Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例
问题:在SQL Server数据库中,有自增列这个字段属性,使用起来也是很方便的.而在Oracle中却没有这个功能,该如何实现呢? 答:在Oracle中虽然没有自增列的说法,但却可以通过触发器(trigger)和序列(sequence)来模式实现. 示例: 1.建立表 复制代码 代码如下: create table user ( id number(6) not null, name varchar2(30) not null primary key )
-
在oracle数据库里创建自增ID字段的步骤
在oracle里使用自增ID字段的步骤比较繁琐,总结如下: -- 创建表 CREATE TABLE ADVICE ( ID INT NOT NULL, ACTIVE INT DEFAULT 1 NOT NULL, TYPE INT NOT NULL, MSG VARCHAR2(512) NOT NULL, ADVICE VARCHAR2(4000) NOT NULL, PRIMARY KEY(ID), CONSTRAINT ADVICE_UNI UNIQUE(TYPE,MSG) )TABLESP
-
两种oracle创建字段自增长的实现方式
mysql等其他数据库中有随着记录的插入而表ID自动增长的功能,而oracle却没有这样的功能,我们有以下两种方式可以解决字段自增长的功能. 因为两种方式都需要通过创建序列来实现,这里先给出序列的创建方式. CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n|NOCACHE}]; 解析: 1)INCREMENT BY用
-
Oracle数据库中创建自增主键的实例教程
在设计数据库表的时候发现Oracle没有自增主键的设置,Google了解到Oracle本身并不支持自增主键,需要通过序列(Sequence)和触发器(Trigger)实现. 创建表Student Create Table Student( id number(12) primary key, --通过序列和触发器实现id的自增 name varchar2(20) , age number(3) , sex number(1) ) 创建序列Sequence Create Sequence SEQ_
-
Oracle创建自增字段--ORACLE SEQUENCE的简单使用介绍
先假设有这么一个表: 复制代码 代码如下: create table S_Depart ( DepartId INT not null, DepartName NVARCHAR2(40) not null, DepartOrder INT default 0, constraint PK_S_DEPART primary key (DepartId) ); 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方. 1.Create Sequen
-
Oracle创建主键自增表(sql语句实现)及触发器应用
1.创建表 复制代码 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprimarykey,/*主键,自动增加*/ usernamevarchar2(20) ); 2.创建自动增长序列 复制代码 代码如下: CREATESEQUENCETestIncrease_Sequence INCREMENTBY1--每次加几个 STARTWITH1--从1开始计数 NOMAXVALUE--不设置最大值,设置最大值:maxvalue9999 NO
-
ORACLE实现字段自增示例说明
下面用一个例子来说明如何实现oracle中字段的自增. 首先,创建一个表格SuperAmin 复制代码 代码如下: create table SuperAdmin( ID number(11) primary key, Name varchar(11) not null unique, Password varchar(11) not null ) 然后就是创建一个序列 复制代码 代码如下: create sequence autoid start with 1 increment by 1 m
-
Oracle 实现类似SQL Server中自增字段的一个办法
相关代码如下: 1. 创建sequence: 复制代码 代码如下: CREATE SEQUENCE SEQU_DATA_DATAINFO INCREMENT BY 1 START WITH 1 NOCYCLE NOCACHE NOORDER; 2. 创建触发器: 复制代码 代码如下: create or replace TRIGGER TRIG_TEST BEFORE INSERT ON TABLE1 FOR EACH ROW DECLARE tmpVar NUMBER; BEGIN tmpVa
随机推荐
- JSON与XML优缺点对比分析
- ajax实现数据分页查询
- 菜鸟网赚高级技巧
- asp.net 正则表达式的应用
- 深入浅析react native es6语法
- JS验证字符串功能
- 使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
- php中常见的sql攻击正则表达式汇总
- Yii2框架数据库简单的增删改查语法小结
- Python中用memcached来减少数据库查询次数的教程
- Fedora环境下装MySQL命令方法介绍
- Android实现ImageView图片双击放大及缩小
- window.event快达到全浏览器支持了,以后使用就方便了
- Bootstrap Metronic完全响应式管理模板学习笔记
- 基于jQuery倾斜打开侧边栏菜单特效代码
- 传奇完全私服修改方案
- 在mybatis执行SQL语句之前进行拦击处理实例
- Bootstrap中点击按钮后变灰并显示加载中实例代码
- C#实现查杀本地与远程进程的方法
- C语言实现程序开机自启动