3,491
社区成员
发帖
与我相关
我的任务
分享
以下是Oracle导出sql语句存储过程的一个方法:
先修改init.ora
例如:
utl_file_dir=/usr //路径为 oracle所在的盘:/usr
然后就是Oracle导出sql语句的过程。此过程将用户TEMP的P1过程的代码保存到ORACLE安装盘下/USR/TEXT.TXT中
create or replace procedure TEST
is
file_handle utl_file.file_type;
STOR_TEXT VARCHAR2(4000);
N NUMBER;
I NUMBER;
begin
I:=1;
SELECT MAX(LINE) INTO N FROM ALL_SOURCE
WHERE OWNER='TEMP'
AND NAME='P1';
file_handle:=utl_file.fopen('/usr','test.txt','a');
WHILE I<=N LOOP
SELECT TEXT INTO STOR_TEXT
FROM ALL_SOURCE
WHERE OWNER='TEMP'
AND NAME='P1' AND LINE= I;
I:=I+1;
utl_file.put_line(file_handle,stor_text);
END LOOP;
utl_file.fclose(file_handle);
commit;
end TEST;
/
exec TEST;
这样就实现了Oracle导出sql语句存储过程。