我需要在一个过时的框上对旧的Oracle存储过程进行一些更改,该框仍在运行旧的旧式进程。我可以连接到数据库的唯一工具是SQLPlus。如何将存储的proc加载到内存中以在SQLPlus中进行编辑?
我在网上找到的教程并没有解释这是怎么做的。 :-(
最佳答案
从前一个建议开始,我刚刚尝试了建议的Oracle SQL Developer链接,它对于编辑procs来说效果很好。
对于 SQLPlus ,您几乎需要显示存储的proc的内容,并将其假脱机到文件中(如DCookie推荐:-)):
sqlplus> spool myprocname.sql;
sqlplus> select text from all_source where name = 'MYPROCNAME' and type = 'PROCEDURE' order by line;
sqlplus> quit;
然后在体面的编辑器中编辑本地SQL文件。
然后,使用 SQLPlus 运行SQL文件以重新生成proc以进行测试。
>sqlplus username/password@tnsnamesentry @myproc.sql
简而言之,在keester的巨大痛苦。 :-)
关于oracle - 如何打开存储过程并在SQL * Plus中对其进行编辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1065575/