`

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字段中存储的图片批量导出到文件夹,可在文件夹中直接查看。

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

    只需要安装oracle client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及blob数据列名,就可以批量导出ORACLE数据库BLOB字段生成图片

    C#实现Oracle数据批量导入

    利用.net 语言编程实现对Oracle数据的批量的导入功能

    Oracle导出Clob,Blob工具版本2

    Oracle导出Clob,Blob工具 ,支持导出CLob工具版本2,解决上个版本导出时间有问题的bug

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

    可以通过对存储了大量记录的txt文件进行拆分处理形成数组,进而实现批量导入数据到数据库。

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

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

    存储过程demo

    oracle存储过程演示,临时表批量导入到正式表

    oracle数据库对象备份与恢复脚本工具

    1、实现存储过程、函数、包、触发器、视图、同义词的批量导出与恢复脚本 2、以下脚本均在PL/SQL的COMMAND WINDOWS窗口执行,执行脚本与脚本输出的文件默认存放路径为“C:\Program Files\PLSQL Developer”,可以通过...

    Hadoop-Sqoop-Oracle:使用Sqoop在Oracle数据库和HDFS之间进行导入和导出

    使用Sqoop在Oracle数据库和HDFS之间进行导入和导出 内容 使用 操作系统-Ubuntu 20.04.1 LTS(VMware) 后端-Java (JDK 1.8), Sqoop(v1.4.7) , Hadoop(v3.3.0) 库-OJDBC(v7),commons-lang-2.6.jar ...

    plsql导出数据到excel的三种方法

    plsql导出数据到excel常用的三种方法,(1)直接导出;(2)转换导出方式;(3)导出后转换格式;

    青云oracle工具

    7.oracle 有个特点,就是如果表结构发生变化,就会有很多视图,存储过程,触发器等跟着失效,这时候要把这些无效的对象重新编译一下。但是这个动作会经常遗忘, 所以我这里加了一个检索并修正无效对象的功能; 8....

    OracleDbTools.rar 青云oracle超人性化工具

    7.oracle 有个特点,就是如果表结构发生变化,就会有很多视图,存储过程,触发器等跟着失效,这时候要把这些无效的对象重新编译一下。但是这个动作会经常遗忘, 所以我这里加了一个检索并修正无效对象的功能;

    OracleBlobToJPG

    将 Oracle 数据库中的 Blob 类型字段 导出到本地(Blob中存储类型为JPG)

    Oracle绿色版免安装数据库客户端管理工具

    这个也是该软件最大亮点.7.oracle 有个特点,就是如果表结构发生变化,就会有很多视图,存储过程,触发器等跟着失效,这时候要把这些无效的对象重新编译一下.但是这个动作会经常遗忘,所以我这里加了一个检索并修正无效...

    Oracle 工具

    7.oracle 有个特点,就是如果表结构发生变化,就会有很多视图,存储过程,触发器等跟着失效,这时候要把这些无效的对象重新编译一下。但是这个动作会经常遗忘, 所以这里加了一个检索并修正无效对象的功能;...

    SybaseToad:小巧的oracle数据库查询修改工具

    新增功能:支持informix、增加export table界面、增加存储过程执行界面、增加存储过程重编译、增加表对象的触发器修改查看。修改bug若干。 功能类似toad或plsql: 1,支持语法高亮,显示表提示,类似plsql。 2,能...

    OCI、OTL操作Oracle数据库类 带数据库连接池

    个人开发的通过OCI、OTL操作Oracle数据库类,其改版已成功应用在商业项目中,经观察很稳定,支持批量导入记录,实际应用中个人PC上3秒大概可存储12000条记录。 这是初步开发的类库,建议根据实际情况适当修改!另外...

    oracle数据库工具

    oracle数据库备份工具,可批量备份数据库表结构、存储过程、规则、视图、触发器、类型和函数等,导出SQL文件。

Global site tag (gtag.js) - Google Analytics