查询所有的序列:

select 'create sequence '||sequence_name||
' minvalue '||min_value||
' maxvalue '||max_value||
' start with '||last_number||
' increment by '||increment_by||
(case when cycle_flag='N' then '' else ' cycle ' end) ||
(case when order_flag='N' then '' else ' order ' end) ||
(case when cache_size= then ' nocache' else ' cache '||cache_size end) ||';'
from USER_sequences;

查出来的语句可以直接执行,当然要先删除原来的序列。还原oracle备份库的时候,备份库的数据可能比目标库的数据有所更新,序列记录最大值也已经变更,而目标库的序列记录最大值如果还是原来的值,不删除序列重建的话,那么就有可能插入重复的唯一值,从而报错。

为甚么要使用序列sequence?

如果你想像sql那样加个自增流水号,sql直接选择自增的int就可以了,可是oracle却没有这样的功能。

要做到像sql的自增流水号,需要两个步骤:

1.为每个表增加独立的序列

2.增加触发器

序列添加:

create sequence S_DEMO_TABLE
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 10;

添加触发器:

CREATE OR REPLACE TRIGGER pw_taskitemInsert
BEFORE INSERT ON pw_taskitem
FOR EACH ROW
BEGIN
SELECT S_DEMO_TABLE.nextval INTO :new.PWTASKITEMID FROM dual;
END;

oracle 序列sequence的更多相关文章

  1. Oracle序列(Sequence)创建、使用、修改、删除

    Oracle对象课程:序列(Sequence)创建.使用.修改.删除,序列(Sequence)是用来生成连续的整数数据的对象.序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成.创建序 ...

  2. Oracle 序列(sequence)

    序列(sequence) 是Oracle提供的用于生成一系列唯一数字的数据库对象.它会自动生成顺序递增或者递减的序列号,以实现自动提供唯一的主键值.序列可以在多用户并发环境中使用,并且可以为所有用户生 ...

  3. Oracle序列Sequence用法

    序列 序列(Sequence)是用来生成连续的整数数据的对象.序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成.创建序列的语法是:语法结构:创建序列 CREATE SEQUENCE ...

  4. oracle序列sequence

    序列 定义一个序列,自动产生连续的整数.也称序列生成器(sequence generator)产生序列号.在多用户环境下该序列生成器特别有用,可生成各返回序列号而不需要磁盘I/O或事务封锁.序列号为O ...

  5. oracle序列sequence操作汇总(命令)--待续

    1.创建sequence 2.删除sequence 3.查询有哪些sequence select * from user_objects where object_type='SEQUENCE'; 4 ...

  6. 创建Oracle序列sequence

    create sequence SEQ_ID minvalue 1 maxvalue 99999999 start with 1 increment by 1 nocache order; 建解发器代 ...

  7. Oracle新表使用序列(sequence)作为插入值,初始值不是第一个,oraclesequence

    Oracle新表使用序列(sequence)作为插入值,初始值不是第一个,oraclesequence 使用oracle11g插入数据时遇到这样一个问题: 1 --创建测试表-- 2 CREATE T ...

  8. oracle数据库--序列(sequence)

    一个问题: 在某张表中,存在一个id列(整数),我们希望在添加记录的时候,该列从1开始,自动的增长,怎么处理? 解决方式:oracle是利用"序列"(sequence)来完成的. ...

  9. Oracle数据库中序列(SEQUENCE)的用法详解

    Oracle数据库中序列(SEQUENCE)的用法详解   在Oracle数据库中,序列的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值.本文我们主要介绍了 ...

随机推荐

  1. 老司机浅谈linux系统学习技巧

    Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它 ...

  2. Saiku调用WS接口(十四)

    Saiku调用WS接口 关于saiku集成系统单点登录告一段落,始终没想好怎么去做,主要是因为saiku有自己的权限定义,一直没想好关于saiku本身的权限信息以及用户信息怎么处理(在这里笔者希望已实 ...

  3. 关于django的一些基础知识

    1.中间件 中间件的作用 : 在全局范围内控制django的输入和输出的钩子函数 中间件中有5种方法: process_request : 请求进来时,进行验证 process_views : 路由匹 ...

  4. java service 安装

    sudo ln -s /var/services/video/video-live.jar /etc/init.d/live-service sudo chmod +x /var/services/v ...

  5. mybatis oracle:批量操作(增删改查)

    此文主要是讲mybatis在连接oracle数据库时的一些批量操作,请各位对号入座 (最后回来补充一下,所有都是在Spring+MVC的框架下实现的) 不废话,上代码: 1.批量插入(网上很多,是针对 ...

  6. 浅谈URI和URL

    URI(Uniform Resource Identifier)字面上的意思是,统一资源标示符 URL(Uniform Resource Locator),统一资源定位符 光从字面上的意思,这个2个东 ...

  7. java面向对象编程(六)--四大特征之继承

    本文将介绍继承.方法重载和方法覆盖.其中方法重载和方法覆盖是在讲多态时必须要清楚的一个知识点. 一.继承 1.继承的概念 继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变 ...

  8. 【转】使用Mybatis时遇到的延迟加载造成返回异常的问题——HttpMessageConversionException: Type definition error

    在使用Mybatis的过程中,使用了resultMap延迟加载. 延迟加载:association联表查询的过程中,查询另外两个表的对象.而延迟加载是指只有在使用这两个对象的时候才会进行查询. 问题的 ...

  9. python 在一个excel存多个sheet

    import pandas as pdimport numpy as npimport osfrom sqlalchemy import create_engine def get_station_w ...

  10. bzoj 2460 线性基

    #include<bits/stdc++.h> #define ll long long #define LL long long #define int long long using ...