Oracle添加自增长字段方法步骤

第一步:创建自增长序列

CREATE SEQUENCE ZH_ALARM_INFO_SEQ--自动增长列

INCREMENT BY 1 -- 每次加几个

START WITH 1 -- 从1开始计数

NOMAXVALUE -- 不设置最大值

NOCYCLE -- 一直累加,不循环

NOCACHE -- 不建缓冲区 3.建立触发器:

第二步:根据第一步创建的序列,为有自增长字段的表创建触发器

CREATE OR REPLACE TRIGGER Trigger_ZH_ALARM_INFO

BEFORE INSERT ON ZH_ALARM_INFO

for each row

when(NEW.AID is NULL)

begin

select ZH_ALARM_INFO_SEQ.Nextval into :NEW.AID from dual;

end;

附件:

创建序列的前提:自增长字段必须为大写字段

序列查询

select ZH_ALARM_INFO_SEQ.nextval from sys.dual;

序列删除

DROP SEQUENCE  ZH_ALARM_INFO_SEQ

时间: 2024-08-10 17:21:31

Oracle添加自增长字段方法步骤的相关文章

Oracle创建自增字段方法-ORACLE SEQUENCE的简介

曾经最头疼的就是对表插入数据的时候,有主键问题. 由于主键不可以反复,所以得用函数自己定义一个规则生成不反复的值赋值给主键. 如今发现oracle有sequence就不用那么麻烦了. 转自:http://zhoufoxcn.blog.51cto.com/792419/166418/ 先如果有这么一个表: create table S_Depart    ( DepartId                         INT                                  

Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

引用自 :http://www.2cto.com/database/201307/224836.html 先假设有这么一个表: 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就是所谓的序列号,每次

添加自动增长字段做主键

Create Table Student ( id int identity(1,1) primary key ) identity:自增列 int identity(1,1):从1开始每次递增1

django自带User管理中添加自己的字段方法

#coding=utf-8 from django.db import models from django.contrib.auth.models import User, make_password, check_password, Group, GroupManager from django.contrib.auth.admin import UserAdmin from OnLineAnswer.settings import UPLOADTO # Create your models

oracle创建自增字段方法

1.创建表 create table test ( id NUMBER, messageid VARCHAR2(32) ); 2.创建序列 create sequence test_id minvalue 1 maxvalue 9999999 start with 1 increment by 1 cache 50; 3.创建触发器 CREATE OR REPLACE TRIGGER "test_auto_id" BEFORE INSERT ON recv_msg REFERENCIN

[转载]C#中使用ADO.NET连接SQL Server数据库,自动增长字段用作主键,处理事务时的基本方法

问题描述: 假设在数据库中存在以下两张数据表: User表,存放用户的基本信息,基本结构如下所示:   类型 说明 ID_User int 自动增长字段,用作该表的主键 UserName varchar   UserDepart表,存放用户所拥有的部门(我们假设一个用户拥有多个部门,虽然听起来有点别扭,此处仅作示例,可以理解为一个用户拥有多个职位等等),该表的基本结构如下所示:   类型 说明 ID_UserDepart int 自动增长字段,用作该表的主键 ID_User int 用户编号 I

Oracle 中的自动增长字段

环境:PLSQL Developer 7.1.5 Oracle 11.2.0 Oracle 中不像MYSQL和MSSQLServer中那样指定一个列为自动增长列的方式,不过在Oracle中可以通过SEQUENCE序列来实现自动增长字段.在Oracle中SEQUENCE被称为序列,每次取的时候它会自动增加,一般用在需要按序列号排序的地方. 在使用SEQUENCE前需要首先定义一个SEQUENCE,定义SEQUENCE的语法如下: CREATE SEQUENCE sequence_name INCR

当插入数据失败时,防止mysql自增长字段的自增长的方法

问题描述: 当mysql设置了自增长字段时(注意:一个表中只能设置一个自增长字段,可以不是主键,但必须是键 ),如果插入数据失败,那么自增长字段仍然会占用这个自增长值,再次成功插入数据时就会造成断层. 原因: 自增是缓存在内存字典中的,分配方式是先预留,然后再插入的.所以插入失败不会回滚内存字典. 解决方法: 在php程序中可以加一段代码,当插入数据失败时,执行sql语句重新设置auto_increment的值: $sql = alter table `tbname` auto_incremen

Oracle并行添加主键的方法

环境:Oracle 11.2.0.3 需求:生产一张表由于前期设计不当,没有主键.现需要添加主键,数据量很大,想并行建立. 1.直接添加,提示ora-3001:未实施的功能;只能单线程建立主键 SQL> alter table t add constraint pk_t primary key (object_id) using index online parallel 2; alter table t add constraint pk_t primary key (object_id) u