`

Oracle存储过程-删除所有序列

 
阅读更多

在跑数据库脚本之前,

往往会重新删除数据库中所有的序列.

 

下面这种方式就提供一个存储过程,能做到删除所有的序列。

在创建序列之前调用此存储过程即可。

 

Set ECHO ON
set define off     
SPOOL logs/create_procedure.log

--删除所有序列的存储过程;  
create or replace procedure PROC_DROPSEQUENCE_All
as 
  --引用user_sequences表中的sequenceName的类型;
  sequenceName user_sequences.sequence_name%type;  
  type ty is record(sequence_name varchar2(30));
  --定义ref类型游标;-强类型
  type ref_type is ref cursor return ty;
  ref_t ref_type;
  --定义变量存储数量;
  mycount number(10);
  begin
    --打开游标;
    open ref_t for select sequence_name from user_sequences;
         loop
             --从游标中获取一条记录,放入变量中;
             fetch ref_t into sequenceName;
                    SELECT COUNT(*) INTO mycount FROM user_sequences WHERE sequence_name = sequenceName;
                    if mycount>0 then
                       execute immediate 'DROP SEQUENCE '||sequenceName;
                    end if;
             exit when ref_t%notfound;  --退出;
         end loop;
     close ref_t;    
  end;
/  

 可以保存一个.sql文件放在批处理里面执行。

 

 

--删除单个序列的存储过程,需要传入一个序列的名称;

create or replace procedure PROC_DROP_SEQUENCE(procName in varchar2)  
as 
    --引用user_tables表中的tableName的类型;
     sequenceName user_sequences.sequence_name%type;
     mycount number(10);
     begin
         --把存储过程传过来的参数,赋值给tableName;
         sequenceName :=procName;	
        SELECT COUNT(*) INTO mycount FROM  user_sequences WHERE sequence_name =  sequenceName;
         if mycount > 0 then 
               execute immediate 'DROP SEQUENCE '||sequenceName;
         end if;
     end;  
/

 

分享到:
评论

相关推荐

    Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包

    Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包 Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包

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

    Oracle 删除所有表,视图,序列,函数,存储过程等SQL语句文档。

    oracle10g课堂练习I(1)

    Oracle Database 10 g :“g”代表网格 1-6 Oracle 数据库体系结构 1-8 数据库结构 1-9 Oracle 内存结构 1-10 进程结构 1-12 Oracle 实例管理 1-13 服务器进程和数据库缓冲区高速缓存 1-14 物理数据库结构 1-...

    Oracle DBA workshop1 (中文版)

    Oracle 产品和服务1-5 Oracle Database 10g:“g”代表网格1-6 Oracle 数据库体系结构1-8 数据库结构1-9 Oracle 内存结构1-10 进程结构1-12 Oracle 实例管理1-13 服务器进程和数据库缓冲区高速缓存1-14 物理数据库...

    Oracle 10g 学习笔记

    这个笔记是学习oracle数据库过程中整理出来的,比较详细,适合于初学者。 │ oracle与tomcat端口冲突.txt │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置...

    oracle10g课堂练习I(2)

    过程 8-14 程序包 8-15 程序包说明和程序包体 8-16 内置程序包 8-17 触发器 8-18 触发事件 8-19 锁定 8-20 锁定机制 8-21 数据并发处理 8-22 DML 锁定 8-24 排队机制 8-25 锁定冲突 8-26 锁定冲突的可能...

    oracle10g课堂练习II(1)

    RMAN 资料档案库数据存储:选项比较 2-9 备份目标 2-11 介质管理 2-12 将快速恢复区与 RMAN 配合使用 2-14 使用 EM 监视快速恢复区 2-16 快速恢复区的空间使用 2-17 V$FLASH_RECOVERY_AREA_USAGE 2-18 备份...

    ORACLE数据库基础知识-华为维护资料

    3.10 怎样手工跟踪函数/存储过程执行情况 42 3.11 多种业务使用同一数据库如何分配回滚段 42 3.12 怎样远程用Sql*Load倒入数据 43 3.13 怎样倒出、倒入文本数据 43 3.13.1 倒出 43 3.13.2 倒入 43 3.14 如何更新当前...

    删除oracle下当前用户创建的所有对象

    在PLSQL中用户登陆后,使用以上脚本一次性删除所有该用户创建的对象,包括表,视图,序列,触发器,存储过程等等,恢复到数据库刚刚创建的那个状态。

    21天学通Oracle

    第8章 函数与存储过程(教学视频:48分钟) 138 8.1 函数 138 8.1.1 函数简介 138 8.1.2 创建函数 139 8.1.3 函数中的括号 140 8.1.4 函数的参数 141 8.1.5 函数的确定性 142 8.1.6 典型函数举例 143 8.2 ...

    oracle database 10g 完整参考手册part1

    第39章 Java存储过程 第40章 Oracle真正应用群集 第41章 网格体系结构和管理 第Ⅷ部分 指南 第42章 Oracle数据字典指南 第43章 调整应用程序和SQL旅行者指南 第44章 调整中的案例分析 第45章 Oracle Application ...

    Oracle11g从入门到精通2

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的...完整案例来介绍基于Java开发包和Oracle数据库进行案例开发的详细过程...

    oracle10g课堂练习II(2)

    RMAN 资料档案库数据存储:选项比较 2-9 备份目标 2-11 介质管理 2-12 将快速恢复区与 RMAN 配合使用 2-14 使用 EM 监视快速恢复区 2-16 快速恢复区的空间使用 2-17 V$FLASH_RECOVERY_AREA_USAGE 2-18 备份...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    第5章 Oracle存储结构 139 5.1 了解表空间和数据文件 140 5.1.1 Oracle数据存储模型 140 5.1.2 段、区间、块和行 142 5.1.3 文件存储技术 144 5.2 创建和管理表空间 146 5.2.1 创建表空间 146 5.2.2 更改表...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    14.10 序列化事务 403 14.11 隔离事务 406 14.12 自治事务 409 14.13 小结 413 第15章 测试与质量保证 415 15.1 测试用例 416 15.2 测试方法 417 15.3 单元测试 418 15.4 回归测试 422 15.5 模式修改 422 ...

Global site tag (gtag.js) - Google Analytics