`
xu520
  • 浏览: 76092 次
  • 性别: Icon_minigender_1
  • 来自: 金华
社区版块
存档分类
最新评论

ORACLE建立自增序列

 
阅读更多

ORACLE建立自增序列

步骤:

1.创建序列
2.创建触发器。

语法解析:
create sequence TB_CODE_SEQUENCE
minvalue 1
maxvalue 999999999999999999999999999
start with 11
increment by 1
cache 10;

CREATE OR REPLACE TRIGGER tb_code_Increase BEFORE insert ON tb_code
FOR EACH ROW
begin
select tb_code_Sequence.nextval into:New.ID from dual;
end;

create sequence TB_CODE_SEQUENCE ---创建一个名为TB_CODE_SEQUENCE的序列。
minvalue 1 ---最小值为1
maxvalue ---最大值,可对maxvalue设置任意正整数值。当不设任何值时,默认为999999999999999999999999999
start with 11---从第11条记录开始,当表中没有记录,则从1开始
increment by 1---增量值为1,每次自增1
cache 10 ---CACHE(缓冲)定义存放序列的内存块的大小,默认为20。

CREATE OR REPLACE TRIGGER tb_code_Increase ---创建一个名为tb_code_Increase的触发器
BEFORE insert ON tb_code ---定义发生什么时间时激发触发器,这里定义为在对tb_code表进行插入之前激发触发器
FOR EACH ROW ---循环每一行
begin
select tb_code_Sequence.nextval into:New.ID from dual; ---查询序列当中nextval返回的值并返回给序列。
end;

修改:
序列的某些部分也可以在使用中进行修改,但不能修改SATRT WITH选项。
对序列的修改只影响随后产生的序号,已经产生的序号不变。

<wbr></wbr>

分享到:
评论

相关推荐

    Oracle使用序列创建自增字段

    Oracle使用序列创建自增字段,自增长列。

    oracle主键自增

    oracle 数据库主键自增脚本 --第一步,创建表 --第二步,创建自增序列 --第三步,创建触发器

    Oracle在表上建立自增字段的方法

    本方法为使用SEQUENCE...  1、建立自增序列TEMP_TEST_IDADD,命名任意,从1开始,每次加1  CREATE SEQUENCE TEMP_TEST_IDADD INCREMENT BY 1 START WITH 1;  2、在表temp_test上建立触发器如下  CREATE OR REPL

    oracle迁移mysql自增序列问题

    今天从oracle迁移数据到mysql碰到个需求:原先的主键字段需要改成mysql中的自增字段,而且原先数据的值不能变,以后新插入的值从原先数据最大的值开始自增。 解决办法: 构建环境: mysql&gt; CREATE TABLE test -&gt; ( ...

    Oracle创建自增字段sequence

    Oracle中没有sqlserver中那么方便的自增序列,如果想要达到sqlserver中那种效果,也不是很麻烦,需要创建一个自增序列SEQUENCE,然后建一个触发器即可。  CREATE SEQUENCE emp_sequence  INCREMENT BY 1 — ...

    oracle 主键自增 sequence

    以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle 是决定不循环,如果你设置了最大值那么你可以用cycle 会使seq到最大之后循环....

    简单三步轻松实现ORACLE字段自增

    第一步:创建一个表、第二步:创建一个自增序列以此提供调用函数、第三步:我们通过创建一个触发器,使调用的方式更加简单

    Oracle数据库中创建自增主键的实例教程

    在设计数据库表的时候发现Oracle没有自增主键的设置,Google了解到Oracle本身并不支持自增主键,需要通过序列(Sequence)和触发器(Trigger)实现。 创建表Student Create Table Student( id number(12) primary ...

    Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交

    Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交

    Oracle里的自增字段设置

     我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列 create table t ( id number generated by default as identity (start with 1 increment by 1), name varchar2...

    oracle序列主键自增长

    当向表中插入数据时,主键值自动加一. 实现方法1: 建立一个最小为1,最大为nomaxvalue的一个序列号会自动循环的序列 create sequence 序列名 increment by 1 start with 1 nomaxvalue nocycle; .......

    Oracle 创建主键自增表示例代码

    我们经常在设计数据库的时候用一个系统自动分配的ID来作为我们的主键,但是在Oracle没有自增主键的设置,我们可以通过这篇文章介绍的方法实现,有需要的朋友们可以参考借鉴,下面来一起看看吧。

    oracle数据库主键自增并且返回主键值

    一、创建序列 1.1、直接在PLSQL中设置 1.2、命令创建 create sequence seq_users ##创建序列seq_users increment by 1 ## 步长,每次加1 start with 1 ##从1开始 minvalue 1 ##最小值 maxvalue 9999999 ##最大值 ...

    如何在Hive、MySQL、Oracle中分别添加自增序号

    最近公司业务涉及到了在相应库中添加自增序号这种操作,闲暇之余,整理如下,仅供参考~ 一、Hive  1、首先在Hive中建立一个测试表 create table xzw(id int, name string) clustered by (id) into 2 buckets ...

    oracle生成动态前缀且自增号码的函数分享

    代码如下:create or replace Function GetInvitationNO(prev varchar2, num1 varchar2, num2 varchar2, sessionSetting varchar2) Return Varchar2 Authid Current_User Is PRAGMA AUTONOMOUS_TRANSACTION;...

    创建序列触发器

    oracle的自增,创建序列,创建触发器

    Oracle创建主键自增表(sql语句实现)及触发器应用

    2、创建自动增长序列 代码如下: CREATESEQUENCETestIncrease_Sequence INCREMENTBY1–每次加几个 STARTWITH1–从1开始计数 NOMAXVALUE–不设置最大值,设置最大值:maxvalue9999 NOCYCLE–一直累加,不循环 CACHE10...

    Oracle数字类型number自增的实现代码

    创建序列 create sequence seq_student start with 6 increment by 1 maxvalue 500 nominvalue nocycle nocache; 创建触发器 create or replace trigger trigger_student before insert on student for each row ...

Global site tag (gtag.js) - Google Analytics