`

Oracle批量导出存储过程

 
阅读更多

法一:

PL/SQL工具导出

 

法二:

SET echo off;
SET heading   off;
SET feedback   off;
spool C:\Documents and Settings\Administrator\桌面\proc.sql;

 

--1、用sys用户等陆的话:

select   text   from   dba_source   where   owner= 'lingfeng'    and   type   = 'PROCEDURE';

 

--2、用一般用户(要导出其下存储过程的用户):

select   text   from   user_source;
spool   off;

 
法三:(自己写存储过程导出)

1.创建DIRECTORY

create or replace directory PROCE_DIR as 'C:/Documents and Settings/Administrator/桌面';

 

如创建报没权限的错误,则以system的用户登录,给当前用户赋权

--赋权语句

grant create any directory to bijian;

 

--撤权语句

revoke create any directory from bijian;

 

创建之后可通过如下语句查询是否创建成功

select * from dba_directories;

 

2.创建导出存储过程

create or replace procedure loadProce(owner varchar2)
is
    type user_source_table_type is table of user_source.text%TYPE INDEX BY BINARY_INTEGER;
    user_source_table user_source_table_type;
    file_handle utl_file.file_type;
    stor_text VARCHAR2(4000);
    sql_stat varchar2(1000);
    sql_stat2 varchar2(1000);
    sql_stat3 varchar2(1000);
    nCount NUMBER;
   i NUMBER;
begin
    sql_stat:='select distinct(name) from all_source where owner = ''' || upper(owner) || '''';
    execute immediate sql_stat bulk collect into user_source_table;
    file_handle:=utl_file.fopen('PROCE_DIR','test.sql','W');
    for j in 1..user_source_table.count loop
        i:=1;
        sql_stat2:='SELECT MAX(LINE) FROM ALL_SOURCE WHERE OWNER=''' || upper(owner) || ''' AND NAME=''' || user_source_table(j) || '''';
        --dbms_output.put_line(sql_stat2);
        execute immediate sql_stat2 into nCount;
        WHILE i<=nCount LOOP
           sql_stat3:='SELECT TEXT FROM ALL_SOURCE WHERE OWNER=''' || upper(owner) || ''' AND NAME=''' || user_source_table(j) || ''' and line = ' || i;
           --dbms_output.put_line(sql_stat3);
           execute immediate sql_stat3 into stor_text;
           i:=i+1;
         utl_file.put(file_handle,stor_text);
        END LOOP;
    end loop;
    utl_file.fclose(file_handle);
    commit;
end loadProce;

 

3.调用,将TYPE BODY、PROCEDURE、TYPE、FUNCTION、TRIGGER、PACKAGE BODY、PACKAGE保存到桌面的test.sql中

begin
   loadproce('bijian');
end;

 

分享到:
评论

相关推荐

    oracle 批量插入数据存储过程

    oracle 批量插入数据存储过程。亲测好用。支持 plsql ,toad,等数据库分析软件。主要包括变量的定义,循环及游标的使用等, 亲测好用

    【Oracle BLOB】存储的图片批量导出到文件夹

    使用PL/SQL脚本将Oracle的Blob字段中存储的图片批量导出到文件夹,可在文件夹中直接查看。

    照片批量导入导出

    4. **批量导出**:导出照片通常通过查询数据库并把结果导出为文件格式完成,如CSV、XML或直接导出为图片文件。Oracle提供Data Pump(expdp/impdp)工具,可以高效地导出和导入大量数据,包括BLOB字段。 5. **图像...

    C#实现Oracle数据批量导入

    C#实现Oracle数据批量导入 在本文中,我们将讨论如何使用C#语言实现对Oracle数据库的批量数据导入功能。本文的主要内容包括如何使用Oracle.DataAccess.Client命名空间来实现批量导入功能,以及如何使用SqlBulkCopy...

    批量导出ORACLE数据库BLOB字段生成文件

    本教程将详细讲解如何批量导出Oracle数据库中的BLOB字段并生成文件,适用于需要定期或一次性处理大量图片或其他BLOB数据的场景。 首先,确保你已经在本地安装了Oracle客户端。Oracle客户端提供了SQL*Plus和其他工具...

    批量导出ORACLE数据库BLOB字段生成图片

    批量导出Oracle数据库中的BLOB字段生成图片,是一项常见的需求,尤其对于那些需要将数据库中的图片资源导出到本地文件系统的情况。下面将详细介绍这一过程及其相关知识点。 首先,我们需要理解BLOB类型。BLOB...

    图片批量导入oracle数据库

    本话题聚焦于如何批量导入图片到Oracle数据库,这是一种常见的需求,特别是在处理大量图像数据的项目中。Oracle数据库作为一款强大的关系型数据库管理系统,支持多种类型的数据存储,包括BLOB(Binary Large Object...

    oracle逻辑导出脚本

    根据给定的文件信息,我们可以深入探讨Oracle逻辑导出脚本的关键知识点,这些知识点主要集中在Oracle数据库的逻辑备份过程、Shell脚本编程以及系统管理方面。 ### Oracle逻辑导出脚本概览 #### 标题解析:Oracle...

    批量导出pl/sql程序包内容代码

    在Oracle数据库管理中,批量导出PL/SQL程序包内容是一项非常实用的操作。特别是在维护大型数据库系统时,这项技能能够极大地提高工作效率,帮助开发者快速地备份、迁移或者分析特定的程序包代码。 #### 一、Oracle ...

    excel批量导入oracle数据库

    本文将详细讲解如何使用Excel批量导入Oracle数据库,这是一个常见的需求,特别是在数据分析和报表生成等领域。 首先,我们需要了解Excel和Oracle数据库的基本概念。Excel是一款由Microsoft开发的电子表格应用程序,...

    oracle数据库导出导入脚本

    3. **参数和选项**:Oracle Data Pump提供了丰富的参数和选项来定制导入导出过程。例如,`content`参数可以选择是否导出数据(全部、数据_only或metadata_only),`exclude`和`include`可以指定要排除或包含的对象...

    如何通过txt文件批量导入数据到oracle数据库

    因此,我们需要掌握如何通过TXT文件批量导入数据到Oracle数据库的方法。下面,我们将详细介绍这一过程。 首先,我们需要了解TXT文件的数据格式。通常,TXT文件中的数据是以特定分隔符(如逗号、制表符等)区分各个...

    Oracle导出Clob,Blob工具版本2

    Oracle数据库在存储大对象(BLOB和CLOB)时提供了强大的功能,但处理这些类型的数据进行导入导出可能会带来挑战。"Oracle导出Clob,Blob工具版本2" 是一个专为解决这个问题而设计的应用程序,它改进了对CLOB...

    blob类型图片批量导出工具

    Blob类型图片批量导出工具是一款专门针对存储在数据库中的Blob类型图像数据进行处理的应用程序。Blob,全称为Binary Large Object,是数据库系统中用于存储大量二进制数据的对象类型,通常包括图片、音频、视频等...

    ORACLE批量导入图片到BLOB字段代码示例

    要插入图片的表不是固定的,而且是批量插入很多张,还要考虑到因为图片的文件名错误,修改后要再次插入,此时应避免已经插入的重复执行操作, 浪费时间。...第三步:根据自己的具体需求,编写存储过程,在做之前

    Oracle照片导出

    Oracle照片导出是一款基于C#开发的工具,主要用于从Oracle数据库中导出Blob类型的图片数据。Blob(Binary Large Object)是Oracle数据库用于存储大对象,如图像、音频或视频文件等非结构化数据的数据类型。这个工具...

    oracle下导出某用户所有表的方法

    可以使用 PL/SQL 工具来导出用户对象,例如视图、存储过程、函数等。首先,需要登录到 Oracle 数据库,然后在 PL/SQL 工具中选择“工具”菜单下的“导出用户对象”,然后选择要导出的对象类型和文件名。 导出表的...

    Windows下批量导入导出Oracle多个表的EXPORT脚本

    总结,Windows下的Oracle批量导入导出操作可以通过批处理脚本结合EXPDP和SQL*Loader工具实现,这样不仅可以提高工作效率,还能确保数据迁移的稳定性和一致性。在实际操作中,应根据具体需求调整脚本,遵循最佳实践,...

    oracle 文本导入工具

    Oracle文本导入工具是一种实用程序,专门设计用于将TXT和CSV格式的数据文件批量导入到Oracle数据库中。这个工具是由开发者自己编写的,旨在简化数据导入过程,提高效率,并可能解决传统方法(如SQL*Loader或SQL命令...

    Oracle数据导入导出

    Oracle数据导入导出是数据库管理中的重要操作,用于在不同环境之间转移数据,备份或恢复数据,以及在系统升级或迁移时保持数据完整性。Oracle提供了一对工具,即IMP(Import)和EXP(Export),来执行这些任务。下面...

Global site tag (gtag.js) - Google Analytics