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数据库管理中,批量生成表、触发器和序列是一项常见的任务,特别是在系统初始化或数据迁移时。这个压缩包文件“oracle快速批量生成表和触发器和序列.zip”显然是为了帮助用户快速完成这类操作。下面将详细...
### Oracle删除所有表、视图、序列、函数、存储过程等SQL知识点详解 #### 一、概述 在Oracle数据库管理中,有时会遇到需要彻底清除某个模式下的所有对象的情况,如表、视图、序列、函数、存储过程或包等。这种需求...
Oracle实体类代码生成器是一种工具,它能够自动化地根据数据库中的表结构生成对应的Java实体类代码,极大地提高了开发效率,避免了手动编写这些基础代码的繁琐工作。在Oracle数据库中,实体类通常对应于数据库中的表...
它首先计算新的当前值,然后更新表中对应序列的`current_value`字段。如果计算出的新值超过了`valuelen`设定的长度,则将新值归零,从而实现循环。 3. `setval`函数:此函数用于设置序列的当前值。通过更新`...
这条命令会列出当前用户下所有的表,并生成对应的删除命令。需要注意的是,在执行这些删除命令之前,应该确保已经备份了重要的数据或者确认不需要保留这些数据。 ### 二、删除视图 视图是一种虚拟表,它基于一个或...
序列是 Oracle 数据库中的一种连续数字生成器,常用于人为的关键字,或给数据行排序否则数据行是无序的。序列只存在于数据字典中,可以被设置为上升、下降,可以没有限制或重复使用直到一个限制值。 创建序列可以...
4. 生成代码:执行生成操作,工具会根据数据库表的结构生成对应的实体类文件。 5. 引入生成的代码:将生成的实体类文件引入到项目中,与其他SSM组件进行整合。 在Oracle数据库中,由于其特性,可能会涉及到如PL/SQL...
序列是Oracle数据库中的一种特殊类型的数据库对象,用于生成唯一的数字序列号。序列管理是Oracle数据库管理系统的重要组件,用于管理序列的创建、修改、删除等操作。通过dba_sequences视图,可以查询序列的基本信息...
在本项目中,“C#连接Oracle数据库及根据表中数据生成xml”涉及到的技术点包括: 1. **C#连接Oracle数据库**: - 数据库连接:C#可以通过Oracle Managed Data Access (ODP.NET)或Oracle Data Provider for .NET ...
1. **模型生成**:根据数据库表生成对应的Java实体类,实体类包含了数据库表的所有字段,并自动设置了getter和setter方法,方便后续业务操作。 2. **Mapper接口生成**:为每个表生成对应的Mapper接口,接口中包含了...
本知识点主要聚焦于如何自动根据数据库中的表结构生成对应的Java Bean类和DAO类,以提升开发效率。 首先,Java Bean是一种遵循特定规范的Java类,它通常用来封装业务数据。Java Bean类应具有默认构造函数、getter和...
可以使用C#等语言的Random类生成随机数,并将其转换为对应的十六进制值。 2. **生成位码**:同样,我们需要在0x40到0xFE之间随机生成一个位码。同样的方法,使用随机数生成器并转换为十六进制。 3. **组合成GBK...
描述中提到“oracle数据库数据表生成java文件”,这意味着该生成器是专门针对Oracle数据库的,它可以读取Oracle数据库中的表结构信息,并根据这些信息创建对应的Java类。这样,开发者无需手动编写这些类,可以提高...
3 在dos下打开train数据库后,把oracle.txt创建表和序列里的代码(包括insert代码)复制到dos下运行,记得最后再按一下回车键,让最后一行也运行。 4 在eclipse或myeclipse下新建java项目(注意不是jsp项目)后,...
DBExportDoc V1.0 For Oracle是一款专门针对Oracle数据库设计的工具,它的主要功能是将Oracle数据库中的表结构完整地导出为Word文档,便于用户进行数据库设计的文档记录、分享和审查。这款工具简化了数据库管理人员...
在这个例子中,我们解析了一个包含员工信息的JSON字符串,`$.employees[*]`指定了遍历`employees`数组中的所有对象,`name`和`age`列对应于JSON对象中的字段。 Oracle还提供了`GET_JSON_OBJECT`和`GET_JSON_ELEMENT...
本工具“mysql, sqlserver, Oracle 数据库生成javabean小工具”正是为了解决开发者手动编写javabean时的繁琐工作,它能够自动根据数据库中的表结构生成对应的javabean文件。 1. **数据库连接**: 工具支持三种主流...
这种工具可以连接到如Oracle或MySQL这样的数据库,解析表结构,然后自动生成对应的Java Bean源代码。开发者只需要配置好数据库连接参数,选择要生成的表,工具就能自动完成大部分工作,减少了手动编写和维护Java ...