

下面是Oracle中这两个包的简单的例子:
CREATE OR REPLACE PROCEDURE writeobj IS
amount BINARY_INTEGER :=1;
length_count int;
position int:=1;
data_buffer VARCHAR2 (1);
file1 utl_file.file_type;
res clob;
BEGIN
--create or replace directory FILEPATH as '/home/sunw/tk';
file1:=utl_file.fopen('/home/sunw/tk','testout.out','W'); --打开utl文件,第一个为路径,第二参为文件名,第三指定为'w'方式。
--SET SERVEROUTPUT ON;
--SET LINESIZE 1000;
--SET FEEDBACK OFF;
--set long 999999; ------显示不完整
--SET PAGESIZE 1000; ----分页
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false); --指定不导出storage信息。
res:=DBMS_METADATA.GET_DDL('TABLE','CK_RS'); --生成table对象ck_rs的ddl信息。res为返回的clob类型。
length_count := dbms_lob.getlength(res);
WHILE length_count > 0 LOOP
dbms_lob.read (res, amount, position, data_buffer);
utl_file.put (file1, data_buffer);
position := position + 1;
length_count := length_count - 1;
data_buffer := null;
END LOOP;
utl_file.fclose(file1); --关闭文件。
END writeobj;
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/409.html
