知道一个procedure的名字,想在pl/sql中查看并修改,不想用右键view方式打开(因为procedures下的过程太多了),用sql语句怎么打开啊

解决方案 »

  1.   

    呵呵呵,工具是最好用的了。干嘛有工具而不用哟,你实在要通过plsql查看procecure的话
    可以
    select text from user_source where upper(name)=upper(procedurename);比如
    SQL> select text from user_source where upper(name)=upper('CONVERT2');
    TEXT
    ---------------------------------------------------------------------
    function convert2(str1 in varchar2)  return varchar2 is
    v_result varchar2(4000);
    begin
            v_result := substr(str1, INSTR(str1, '##', -1, 1));
    return v_result;end convert2;
    已选择7行。
      

  2.   

    如果顺序不对的话,在后面加上个 order by line asc
      

  3.   

    将过程名放在SQL窗口,然后选中名字==>右键=>编辑
      

  4.   

    按住 ctrl +鼠标左键 不是直接就可以进去了吗。。
      

  5.   


    噢,我理解错了,还以为你是要用sql语句来查procedure的内容哟。
      

  6.   

    没有,我是要用sql查询,因为procedures下的过程太多,如果直接找的话很麻烦,所以当时想的是用sql语句在sql窗口直接查询会方便些,3楼的方法很好的解决了这个问题,但是我还是需要了解如何sql语句的方法的,所以还是谢谢了。不过你的方法我在pl/sql中用的话,查询出来的内容样式怪怪的,修改起来好像不是太方便的样子
      

  7.   

    借楼继续问,我用1楼的方法和3楼的方法在pl/sql的sql窗口中尝试运行,3楼没有问题可以打开,但是1楼的得到的结果确实空的,也就是text一行内容也没有
      

  8.   

    select * from user_source where name='procedure name'
      

  9.   

    select text from  user_source  where name='存储过程的名字'
      

  10.   

    按住 ctrl +鼠标左键  只能包中,只有过程说明,有没有其他办法,直接进入包体,察看相应的过程定义,而不包中的过程声明