`
mamaoyuan625
  • 浏览: 176969 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Oracle中建立连续的序列sequence

阅读更多

要用到触发器

1:此处触发器结构:

create or replace tirrger tirrger_name
before insert
on table_name
for each row
----------------------------
declare
begin
           null;
end;

 

2:建表

create table c
(
           id number primary key,
           name varchar2(20)
)

 

3:建触发器

 

CREATE OR REPLACE TRIGGER tr_613
BEFORE INSERT
ON  c
FOR EACH ROW
DECLARE 
BEGIN
    
          SELECT seq_1.NEXTVAL INTO :NEW.id FROM dual;

         
          
END;

 

如果要在id前加上日期以便日后好查询

可以把begin end中的select替换为:

 SELECT (to_char(SYSDATE,'yyyymmdd') || (seq_1.NEXTVAL)) INTO :NEW.id FROM dual;

 4:测试

INSERT INTO c(NAME) VALUES('a');
INSERT INTO c(NAME) VALUES(123);
INSERT INTO c(NAME) VALUES('a');
INSERT INTO c(NAME) VALUES(a); --故意出错 在insert 检验是否是连续的
INSERT INTO c(NAME) VALUES('a');
COMMIT;
SELECT *FROM c;

 

结果:

ID            NAME
1                a
2               123
3                 a
4                 a

 

成功!

分享到:
评论

相关推荐

    Oracle sequence 重置(失效恢复)

    **Oracle Sequence** 是一种数据库对象,用于生成连续的整数序列。它可以被用来作为表中某一列的自动增长字段,例如主键ID。Sequence的主要优点是简单易用且性能高效。 #### 二、Sequence失效的原因 1. **数据迁移...

    oracle中的sequence实现主键增长

    Oracle中的Sequence是数据库管理系统提供的一种机制,用于生成序列化的整数,通常用于主键或唯一标识符,确保数据的唯一性和有序性。在Oracle中,Sequence不同于其他数据库系统的自增字段,例如SQL Server中的`...

    oracle 创建id主键序列 脚本

    在Oracle中,创建一个序列可以使用`CREATE SEQUENCE`语句。下面是一个基本的创建序列的脚本示例: ```sql CREATE SEQUENCE seq_id START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE ...

    生成oracle数据库中的所有sequence的语句

    可以根据oracle数据库中存在的sequence,生成建立语句

    oracle中sequence介绍及应用

    在Oracle数据库中,Sequence是一种用于自动产生数值序列的对象。它可以生成连续的整数或者非连续的整数序列,并且可以根据需求进行递增或递减。Sequence常用于为表中的某列自动生成唯一的主键值或者作为流水号使用。...

    Oracle 创建和使用序列

    --创建序列 create sequence seq_user start with 1 increment by 1 nomaxvalue cache 10; --使用序列 insert into user_table(user_id,user_name,user_pwd) vlaues(seq_user.nextval,'tcy','tcy'); --修改...

    轻松掌握oracle数据库开发中序列的使用

    创建序列的基本语法是`CREATE SEQUENCE [user.]sequence_name [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE]`。例如: - `INCREMENT BY n` 指定序列每次递增或递减的步长...

    Oracle数据库中序列的使用

    ### Oracle数据库中序列的使用 在Oracle数据库管理中,序列是一种非常实用的对象,它能够自动生成唯一的数值。这种特性使得序列在很多应用场景中都极为重要,比如为表中的记录自动分配唯一标识符(如主键)。本文将...

    oracle序列创建、修改、删除

    在Oracle数据库中,序列(Sequence)是一种特殊的数据对象,它能自动地生成唯一的整数,通常用于为主键字段提供连续的标识符。序列的使用极大地简化了数据插入过程,特别是对于那些需要保持唯一性的整数字段,如员工...

    oracle 主键自增 sequence

    在 Oracle 数据库中,`Sequence` 是一种用于生成一系列唯一数值的对象。这些数值可以按照特定的规则递增或递减,并且可以设定是否循环以及是否缓存等特性。`Sequence` 常用于自动生成主键值,特别是在没有使用 `AUTO...

    oracle 不用新建序列 重置序列(从1开始增长)

    在Oracle中,通常的做法是创建一个新的序列,但这可能会带来额外的管理工作,尤其是在频繁需要重置序列的场景下。 本文将详细介绍如何在不新建序列的情况下,实现Oracle序列的重置,让其从1开始增长。这种方法通过...

    oracle_sequence.rar_oracle

    在Oracle中,序列(Sequence)是一个非常重要的概念,它主要用于生成唯一的整数序列,常常被用来作为主键值,特别是在插入新记录时自动增加。在本篇文章中,我们将深入探讨Oracle序列的创建、使用以及其在实际应用中...

    批量修改Oracle序列值的存储过程

    在Oracle数据库中,序列(Sequences)是一种自动递增或递减的数字生成器,常用于主键生成或者自增字段。批量修改Oracle序列值的需求可能出现在数据迁移、恢复或测试环境中,确保序列与实际数据匹配。这篇博客分享的...

    oracle 存储过程使用 sequence

    Sequence在Oracle中是一个预定义的对象,可以生成唯一的、连续的整数序列。创建Sequence时,你可以指定初始值、增长步长、是否循环等属性。例如,创建一个名为`USER_SEQ`的Sequence: ```sql CREATE SEQUENCE USER_...

    oracle 建表 建序列

    #### 二、Oracle创建序列及其应用示例 序列是一种自动递增或递减的数字对象,通常用于生成唯一的标识符。下面将详细介绍创建序列的方法及应用实例。 ##### 创建序列示例 ```sql CREATE SEQUENCE id INCREMENT BY ...

    oracle同义词和序列

    在 OMEC 中,可以通过选择“序列”文件夹,单击右键,从弹出的快捷菜单中选择“创建”,激活“创建序列”向导,按其向导提示即可完成序列的创建。使用 SQL 命令创建序列的语法形式是: ``` CREATE SEQUENCE sequence...

    oracle索引、序列和权限设置

    在实验中,虽然没有明确展示序列的创建与使用,但可以利用`CREATE SEQUENCE`语句来创建一个序列,例如: ```sql CREATE SEQUENCE sequence_name START WITH initial_value INCREMENT BY increment_value MINVALUE...

    Oracle使用序列创建自增字段

    在 Oracle 中,序列是一个用于生成一系列数字的对象,通常用于为表中的某一列提供连续的数值。创建序列的基本语法如下: ```sql CREATE SEQUENCE sequence_name INCREMENT BY increment_value -- 指定每次生成的...

    sqlserver中创建类似oracle序列的存储过程

    ### SQL Server 中创建类似 Oracle 序列的存储过程 #### 背景介绍 在数据库管理系统(DBMS)中,序列是一种自增的数据结构,常用于自动产生唯一标识符(如ID)。Oracle 数据库提供了非常方便的序列机制,而 SQL ...

Global site tag (gtag.js) - Google Analytics