先修改init.ora
例如:
utl_file_dir=/usr //路径为 oracle所在的盘:/usr
此过程将用户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;
/我以前写的一段代码
稍微改一下要导出的存储过程的名字(P1)就行了
例如:
utl_file_dir=/usr //路径为 oracle所在的盘:/usr
此过程将用户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;
/我以前写的一段代码
稍微改一下要导出的存储过程的名字(P1)就行了
用TOAD、pl/sql developer很容易就搞定
用TOAD就一下就搞定了呀?
然后找一个序列号.
CREATE OR REPLACE PACKAGE "包名"
PROCEDURE 过程1(参数);
PROCEDURE 过程2(参数);
.........
PROCEDURE 过程n(参数);END 包名;
/
CREATE OR REPLACE PACKAGE BODY "包名"
AS
PROCEDURE 过程1(参数)
begin
end;
PROCEDURE 过程2(参数)
begin
end;
.........
PROCEDURE 过程n(参数);
begin
end;
end;/
将N个过程放在一个包里,然后保存为*.sql就可以了。