oracle plsql utl_file

set SERVEROUT on
DECLARE
tab_sql varchar2(4000);
tab_lob clob;
TYPE ddl_type IS REF CURSOR;
ddl_cur ddl_type;
type tab_ddl_type is record(
ddl_con clob
);
tab_ddl tab_ddl_type;
cursor tab_cur is select DISTINCT object_type,object_name,OWNER from dba_procedures where owner=‘FWPROD‘ ;
file utl_file.file_type;
clob_length number(20);
clob_part VARCHAR2(1024);
offset NUMBER := 1;
BEGIN
file := utl_file.fopen(‘DATA_PUMP_DIR‘, ‘mes_procedure_ddl.log‘, ‘ab‘);
for i in tab_cur loop
tab_sql := ‘select dbms_metadata.get_ddl(‘‘‘||i.object_type||‘‘‘,‘‘‘||i.object_name||‘‘‘,‘||‘‘‘‘||i.owner||‘‘‘) as ddl_con from dual‘;
DBMS_OUTPUT.PUT_LINE(tab_sql);
open ddl_cur for tab_sql;
FETCH ddl_cur INTO tab_ddl;
--DBMS_OUTPUT.PUT_LINE(tab_ddl.ddl_con);
clob_length := LENGTH(tab_ddl.ddl_con);
offset := 1;
LOOP
EXIT WHEN offset >= clob_length;
clob_part := DBMS_LOB.SUBSTR (tab_ddl.ddl_con, 1024, offset);
UTL_FILE.PUT_RAW(file, utl_raw.cast_to_raw(clob_part));
UTL_FILE.FFLUSH(file);
offset := offset + 1024;
END LOOP;
close ddl_cur;
END LOOP;
utl_file.fclose(file);
END;
/

原文地址:https://blog.51cto.com/12408798/2438213

时间: 2024-10-02 22:20:39

oracle plsql utl_file的相关文章

Oracle&PLSQL 安装及乱码问题解决

1,先到Oracle网站下载Instant Client ,如果有老版本,就不用下载了 下载回是一个压缩文件,解压之后的文件夹叫:D:/instantclient_11_2.放在你喜欢的目录即可.例如:D:/instantclient_11_2 2. 2.在D:/instantclient_11_2目录下新建目录network,在network目录下再新建admin目录,在admin目录下新建文件tnsnames.ora,使用文本编辑器打开写入如下内容: MWDB=(DESCRIPTION = 

oracle中utl_file包读写文件操作实例学习

在oracle中utl_file包提供了一些操作文本文件的函数和过程,学习了一下他的基本操作 1.创建directory,并给用户授权 复制代码 代码如下: --创建directory create or replace directory TESTFILE as '/home/oracle/zxx/test'; --给用户授权 grant read, write on directory TESTFILE to zxx; 详细介绍 http://download.oracle.com/docs

oracle Plsql 运行update或者delete时卡死问题解决的方法

oracle Plsql 运行update或者delete时 遇到过Plsql卡死问题或者导致代码运行sql的时候就卡死. 在开发中遇到此问题的时候,本来把sql复制出来,在plsql中运行,Sql本身拼写无误,可是出现plsql卡死的情况, 在代码中,运行sql的地方打断点debug,发现运行sql,仍然没有响应.经过网上查资料,推測导致这样的情况的原因是 可能在PLSQL Developer运行update时没有commit,oracle将该条记录锁住了. 能够通过下面办法解决: 先查询锁定

MyEclipse+Weblogic+Oracle+PLSQL配置注意事项

Weblogic配置详情:<Weblogic安装与配置图文详解>Oracle+PLSQL配置详情:<PL/SQL访问远程Oracle服务器(多种方式)>MyEclipse配置:<Eclipse在开发Web项目时的配置优化>,<教你破解MyEclipse到2016年[图文详解]>虽然总结过以上开发环境的配置及优化,但是在使用的过程中依旧出现了或多或少.大大小小的问题,统一记录一下.1.MyEclipse导入工程.File-->Import-->Ge

Oracle/PLSQL: LENGTH Function-from cyber

Oracle/PLSQL: LENGTH Function This Oracle tutorial explains how to use the Oracle/PLSQL LENGTH function with syntax and examples. Description The Oracle/PLSQL LENGTH function returns the length of the specified string. Syntax The syntax for the LENGT

Oracle/PLSQL: LPAD Function-from cyber

Oracle/PLSQL: LPAD Function This Oracle tutorial explains how to use the Oracle/PLSQL LPAD function with syntax and examples. Description The Oracle/PLSQL LPAD function pads the left-side of a string with a specific set of characters (when string1 is

Oracle PLSQL 实例精解 中文版pdf

下载地址:网盘下载 <Oracle PLSQL 实例精解>是一本逐步分解的,详尽的pl/sql编程教程,使用真实场景的试验.范例和练习来介绍读者所需的pl/sql编程技能,涵盖oracle 11g的最新特性.作者的写作手法源自于在哥伦比亚大学教授pl/sql编程技术的经验,深度探索pl/sql编程技术,融合自己的最佳实践.使用本书,读者可以快速掌握pl/sql编程基本知识,并建立工程化的概念,是市面上难得的pl/sql教程.下载地址:网盘下载

ORACLE之UTL_FILE包详解

1 Utl_File包简介Oracle的UTL_FILE包用来实现对磁盘文件的I/O操作.(1)Oracle10g之前的版本需要指定utl_file包可以操作的目录.      方法:        1.alter system set utl_file_dir='e:/utl' scope=spfile;        2.在init.ora文件中,配置如下:UTL_FILE=E:/utl或者UTL_FILE_DIR=E:/utl;(2)Oracle10g之后的版本,只需要先创建一个路径即可.

oracle Plsql 执行update或者delete时卡死问题解决办法

oracle Plsql 执行update或者delete时 遇到过Plsql卡死问题或者导致代码执行sql的时候就卡死. 在开发中遇到此问题的时候,本来把sql复制出来,在plsql中执行,Sql本身拼写无误,但是出现plsql卡死的情况, 在代码中,执行sql的地方打断点debug,发现执行sql,仍然没有响应.经过网上查资料,猜测导致这种情况的原因是 可能在PLSQL Developer执行update时没有commit,oracle将该条记录锁住了. 可以通过以下办法解决: 先查询锁定记