请问:知道一个存储过程名称,如何获取该存储过程的定义?
在ORACLE论坛里当然问的是ORACLE的存储过程了,呵呵。
不好意思,我的级别只能够给100分,呵呵,本来这个问题值500分^_^

解决方案 »

  1.   


    可以用Toad 或者pl/sql dev 可以直接看到存储过程定义。也可以通过SQL 来查看:
    如:
    SELECT * FROM ALL_SOURCE  where TYPE='PROCEDURE' AND NAME ='ADDCUSTBUSS';更换name就可以了。
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977
      

  2.   


    SELECT text FROM ALL_SOURCE where TYPE='PROCEDURE' AND NAME ='ADDCUSTBUSS';如果在sqlplus中,这样看的清楚一点..
      

  3.   

    或者也可以使用 
    select * from user_source
      

  4.   


    set long 1000
    --set long指定的是当字段为long类型的时候,显示的长度.不然够长就看不完全 只显示一点select dbms_metadata.get_ddl('PROCEDURE','你的存储过程名','哪个用户创建的') from dual;--切记里的对象要大写 
      

  5.   

    1。通过dbms_metadata.get_ddl
    2。通过user_source视图。
    楼上几位都已经描述了其使用方法。
      

  6.   

    在使用user_source视图或get_ddl函数时,注意存储过程名要大写,否则可能找不到。
      

  7.   

    select text from user_source where name='YOUR_OBJECT_NAME'
    order by line;-- 其中:YOUR_OBJECT_NAME 是存储过程、函数、包、触发器、表等对象的名称(要用大写)!