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
  REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
DECLARE
BEGIN
  SELECT test_id.NEXTVAL INTO :NEW.ID FROM DUAL;
END recv_trig;

原文地址:https://www.cnblogs.com/zmdd/p/8945120.html

时间: 2024-10-13 00:08:33

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就是所谓的序列号,每次

Oracle中创建自增字段方法

oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现. 下面给大家讲个例子: 1.在Oracle中创建一个表: 1.创建一个表 create table t_client (id number(4) primary key, pid number(4) not null, name varchar2(30) not null, client_id varchar2(10), client_level char(3), bank_acc

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

http://blog.csdn.net/zhoufoxcn/article/details/1762351先假设有这么一个表: create table S_Depart  (    DepartId             INT                             not null,    DepartName           NVARCHAR2(40)                   not null,    DepartOrder          INT 

mongoose 创建自增字段方法

first: create counter collection in mongodb:> db.counters.insert({_id:"entityId",seq:0})WriteResult({ "nInserted" : 1 }) then put below in a model.js: var CounterSchema = Schema({ _id: {type: String, required: true}, seq: { type: Nu

sqlite3自增key设定(创建自增字段)

在用sqlite设计表时,每个表都有一个自己的整形id值作为主键,其实可以不指定这 么一个id值,sqlite内部本来就会为每个表加上一个 rowid,这个rowid可以当成一个隐含的字段使用,但是由sqlite引擎来维护的,在 3.0以前rowid是32位的整数,3.0以后是 64位的整数,为什么不直接使用这个内部的rowid作为每个表的id主键呢. 相关的文档在这里:?http://www.sqlite.org/autoinc.html?http://www.sqlite.org/faq.h

Oracle中创建自增字段(序列sequence)方法

oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现. 下面给大家讲个例子: 1.在Oracle中创建一个表: 1.创建一个表 create table t_client (id number(4) primary key, pid number(4) not null, name varchar2(30) not null, client_id varchar2(10), client_level char(3), bank_acc

Oracle创建自增ID

先创建序列sequence create sequence S_User minvalue 1 nomaxvalue  -- 或 maxvalue 999 start with 1 increment by 1 cache 20; -- 或 nocache 参考: oracle 序列中cache 有什么用途 然后创建触发器 create or replace trigger trg_user before insert on T_USER for each row begin select it

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 BEFOR