1、建立批处理 main.bat
   sqlplus -S "username/passwd@sid"<todo.sql
2、建立todo.sql 例如
   select sysdate from dual;
set serveroutput on;
begin
  dbms_output.put_line('it is a test');
end;
/  --注意,这里的 / 必须有,而且在行首
3、执行 main

解决方案 »

  1.   


    1、建立批处理 main.bat
    connect user/password@connectstr 
    set head off 
    set pagesize 0 
    set feedback off 
    spool temp.sql 
    select 'ALTER '||object_type||' '||object_name||' compile;' from user_objects where object_type = 'PROCEDURE'; 
    spool off 
    @temp.sql 
    / 这样不就行了
      

  2.   

    你多个存储过程不在同一个数据库么?
    譬如 proc_A; proc_B.....
    你都写在 todo.sql里面即可啊 
    ----------------------------------
    set serveroutput on;
    begin
      proc_A(参数1,参数2,...);
      ...
      proc_B(参数1,参数2, ...);
      ...
    end;
    /
      

  3.   

    1.如果存储过程已经通过编译放在ORACLE的服务器端,如何调用呢?
    是否象xpony(xiezequn) 所说,在todo.sql中调用pro_A,pro_B?2.生成的log中有关于DB连接和断开的信息,该如何屏蔽呢?