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

ORACLE生成所有表对应的序列

阅读更多
DECLARE
  V_EXIST_FLAG NUMBER; --判断某序列是否已经存在
  V_TABLE_NAME VARCHAR2(30); --表明
  V_SQEUENCE_NAME VARCHAR2(30); --序列表
  V_CREATE_SEQUENCE_SQL VARCHAR2(1000); --动态拼接形成的创建序列的sql语句
BEGIN
  FOR X IN (SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME  LIKE 'SYS%') LOOP
    SELECT COUNT(*)
      INTO V_EXIST_FLAG
      FROM DUAL
     WHERE EXISTS
     (SELECT 1
              FROM USER_SEQUENCES
             WHERE
             SEQUENCE_NAME = 'SEQ_' || SUBSTR(X.TABLE_NAME, 5, 26));
    IF V_EXIST_FLAG = 0 THEN
      V_CREATE_SEQUENCE_SQL := 'CREATE SEQUENCE ' || 'SEQ_' ||
                               SUBSTR(X.TABLE_NAME, 5, 26) ||
                               ' minvalue 1 maxvalue 9999999999999999999999999999 start with 100 increment by 1 cache 20';
      DBMS_OUTPUT.put_line(V_CREATE_SEQUENCE_SQL);--输出内容表示创建了一个相关序列
      EXECUTE IMMEDIATE V_CREATE_SEQUENCE_SQL;
    END IF;
  END LOOP;
  FOR X IN (SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME  LIKE 'T%') LOOP
    SELECT COUNT(*)
      INTO V_EXIST_FLAG
      FROM DUAL
     WHERE EXISTS
     (SELECT 1
              FROM USER_SEQUENCES
             WHERE
             SEQUENCE_NAME = 'SEQ_' || SUBSTR(X.TABLE_NAME, 3, 26));
    IF V_EXIST_FLAG = 0 THEN
      V_CREATE_SEQUENCE_SQL := 'CREATE SEQUENCE ' || 'SEQ_' ||
                               SUBSTR(X.TABLE_NAME, 3, 26) ||
                               ' minvalue 1 maxvalue 9999999999999999999999999999 start with 100 increment by 1 cache 20';
      DBMS_OUTPUT.put_line(V_CREATE_SEQUENCE_SQL);--输出内容表示创建了一个相关序列
      EXECUTE IMMEDIATE V_CREATE_SEQUENCE_SQL;
    END IF;
  END LOOP;
END;
分享到:
评论

相关推荐

    oracle快速批量生成表和触发器和序列.zip

    在Oracle数据库管理中,批量生成表、触发器和序列是一项常见的任务,特别是在系统初始化或数据迁移时。这个压缩包文件“oracle快速批量生成表和触发器和序列.zip”显然是为了帮助用户快速完成这类操作。下面将详细...

    Oracle 删除所有表,视图,序列,函数,存储过程等SQL

    ### Oracle删除所有表、视图、序列、函数、存储过程等SQL知识点详解 #### 一、概述 在Oracle数据库管理中,有时会遇到需要彻底清除某个模式下的所有对象的情况,如表、视图、序列、函数、存储过程或包等。这种需求...

    oracle实体类代码生成器

    Oracle实体类代码生成器是一种工具,它能够自动化地根据数据库中的表结构生成对应的Java实体类代码,极大地提高了开发效率,避免了手动编写这些基础代码的繁琐工作。在Oracle数据库中,实体类通常对应于数据库中的表...

    MySQL生成Oracle序列参考案例

    它首先计算新的当前值,然后更新表中对应序列的`current_value`字段。如果计算出的新值超过了`valuelen`设定的长度,则将新值归零,从而实现循环。 3. `setval`函数:此函数用于设置序列的当前值。通过更新`...

    删除ORACLE某个用户下所有数据

    这条命令会列出当前用户下所有的表,并生成对应的删除命令。需要注意的是,在执行这些删除命令之前,应该确保已经备份了重要的数据或者确认不需要保留这些数据。 ### 二、删除视图 视图是一种虚拟表,它基于一个或...

    oracle同义词和序列

    序列是 Oracle 数据库中的一种连续数字生成器,常用于人为的关键字,或给数据行排序否则数据行是无序的。序列只存在于数据字典中,可以被设置为上升、下降,可以没有限制或重复使用直到一个限制值。 创建序列可以...

    SSM框架实体类生成器Generator-Oracle版

    4. 生成代码:执行生成操作,工具会根据数据库表的结构生成对应的实体类文件。 5. 引入生成的代码:将生成的实体类文件引入到项目中,与其他SSM组件进行整合。 在Oracle数据库中,由于其特性,可能会涉及到如PL/SQL...

    Oracle系统表汇总.docx

    序列是Oracle数据库中的一种特殊类型的数据库对象,用于生成唯一的数字序列号。序列管理是Oracle数据库管理系统的重要组件,用于管理序列的创建、修改、删除等操作。通过dba_sequences视图,可以查询序列的基本信息...

    C#连接oracle数据库及根据表中数据生成xml

    在本项目中,“C#连接Oracle数据库及根据表中数据生成xml”涉及到的技术点包括: 1. **C#连接Oracle数据库**: - 数据库连接:C#可以通过Oracle Managed Data Access (ODP.NET)或Oracle Data Provider for .NET ...

    mybatis反向生成工具-oracle,mysql版

    1. **模型生成**:根据数据库表生成对应的Java实体类,实体类包含了数据库表的所有字段,并自动设置了getter和setter方法,方便后续业务操作。 2. **Mapper接口生成**:为每个表生成对应的Mapper接口,接口中包含了...

    自动根据数据库生成JAVA BEAN和DAO

    本知识点主要聚焦于如何自动根据数据库中的表结构生成对应的Java Bean类和DAO类,以提升开发效率。 首先,Java Bean是一种遵循特定规范的Java类,它通常用来封装业务数据。Java Bean类应具有默认构造函数、getter和...

    随机生成汉字(控制台下)

    可以使用C#等语言的Random类生成随机数,并将其转换为对应的十六进制值。 2. **生成位码**:同样,我们需要在0x40到0xFE之间随机生成一个位码。同样的方法,使用随机数生成器并转换为十六进制。 3. **组合成GBK...

    pojo生成器

    描述中提到“oracle数据库数据表生成java文件”,这意味着该生成器是专门针对Oracle数据库的,它可以读取Oracle数据库中的表结构信息,并根据这些信息创建对应的Java类。这样,开发者无需手动编写这些类,可以提高...

    oracle版火车票销售系统-java-内附源码

    3 在dos下打开train数据库后,把oracle.txt创建表和序列里的代码(包括insert代码)复制到dos下运行,记得最后再按一下回车键,让最后一行也运行。 4 在eclipse或myeclipse下新建java项目(注意不是jsp项目)后,...

    DBExportDoc V1.0 For Oracle导出表结构到word文档

    DBExportDoc V1.0 For Oracle是一款专门针对Oracle数据库设计的工具,它的主要功能是将Oracle数据库中的表结构完整地导出为Word文档,便于用户进行数据库设计的文档记录、分享和审查。这款工具简化了数据库管理人员...

    Oracle JSON 字符串处理实例

    在这个例子中,我们解析了一个包含员工信息的JSON字符串,`$.employees[*]`指定了遍历`employees`数组中的所有对象,`name`和`age`列对应于JSON对象中的字段。 Oracle还提供了`GET_JSON_OBJECT`和`GET_JSON_ELEMENT...

    mysql,sqlserver,Oracle 数据库生成javabean小工具

    本工具“mysql, sqlserver, Oracle 数据库生成javabean小工具”正是为了解决开发者手动编写javabean时的繁琐工作,它能够自动根据数据库中的表结构生成对应的javabean文件。 1. **数据库连接**: 工具支持三种主流...

    数据库表生成javabean工具及源代码(修正版)

    这种工具可以连接到如Oracle或MySQL这样的数据库,解析表结构,然后自动生成对应的Java Bean源代码。开发者只需要配置好数据库连接参数,选择要生成的表,工具就能自动完成大部分工作,减少了手动编写和维护Java ...

Global site tag (gtag.js) - Google Analytics