先修改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)就行了

解决方案 »

  1.   

    ust tool pl/sql developer
      

  2.   

    支持!
    用TOAD、pl/sql developer很容易就搞定
      

  3.   

    pl/sql devloper哪儿有,怎么用?
      

  4.   

    没有这么复杂呀!
    用TOAD就一下就搞定了呀?
      

  5.   

    toad不错,可以方面地解决很多问题 。
      

  6.   

    toad 在www.quest.com下
    然后找一个序列号.
      

  7.   

    找不到toad的序列号,谁有呀,共享一下吧
      

  8.   

    使用Object Browser吧,全中文的,很好用,找我以前的帖子,有序列号
      

  9.   

    有没有谁用过embarcadero rapid sql,不知它可不可以
      

  10.   

    用Oracle OEM, 选择存储过程,右键,然后选择Show Object DDL, 就可以得到这个存储过程的创建语句了。
      

  11.   

    不太明白。那你的存储过程是怎么来的,本来不就应该是.sql文件编译进去的么?
      

  12.   

    单个的存储过程我会,我问的是我整个数据库里的所有存储过程如何变成一个.sql文件
      

  13.   

    这又有何难呢?
    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就可以了。