使用sqlplus执行一下生成的.sql文件就可以了。编译失效的存储过程的方法很多的
1、我常用的是用pledit这个软件,好多人都在用。
2、使用sql>alter procedure procedure_name compile;命令。

解决方案 »

  1.   

    做个文件set.sql,
      里面记载你的数据报,例如:
      @a.sql
      @b.sql
      @d.sql
      alter procedure procedure_name compile;
    做个批处理,set.bat
      SQLPLUS USER/PASSWD @set.sql
    拷贝这些文件到其他的电脑上,运行set.bat
      

  2.   

    恩,不错。LGQDUCKY(飘) 的方法可行。
      

  3.   

    最简单与直接的方法:莫过于用 imp 和 exp 啊
    用system/manager 登陆,之后全导出全导入,绝对没问题,上面的方法也就那么好用。唯一要注意的是:如果你是全导入,则必须先把以前你用的所有东西删除,比如序列、表、视图、同义词、存储过程、Job等等,用plSQL来做是很快的
      

  4.   

    我不大清楚,好象没有。
      不过你可以构造语句,在放到上面SET。SQL里
      在SQLPLUS里,在你的本地用户
      sql>spool c:\a.txt
      sql>select 'alter procedure '||object_name||' compile;' 
        from user_objects where object_type LIKE 'PROCE%';
      sql>spool off
    编辑c:\a.txt 把所有'alter procedure ‘语句放到SET.SQL文件里,
    也就会对所有过程编译了