SQL命令查询Oracle存储过程信息

SELECT text FROM ALL_SOURCE where TYPE='PROCEDURE' and text like '%procedure%' and owner='JYJ3'
比如这句,我希望获取的是存储过程所有信息,但是text里面只有存储过程第一行的内容,我要全的
我已经说明了从ALL_SOURCE 查出来的只有存储过程第一行,不能从ALL_SOURCE 里面查

oracle数据库中,已建立好的存储过程信息存储在系统表ALL_SOURCE 中,需要用sysdba身份登录数据库,进行查询操作,SQL命令如下:

SELECT line,text FROM ALL_SOURCE  
    WHERE TYPE='PROCEDURE'
    AND NAME='过程名称'
    AND OWNER='用户名
    ORDER BY line;

存储过程分成多行,每一行会存储为一条数据,所以,查询出来的会是多行,line表示行号。


ALL_SOURCE  表中还存储了以下类型信息:

SQL> select distinct type from all_source ;
TYPE
------------
TYPE (对象)类型
TYPE BODY 类型体
PROCEDURE 存储过程
FUNCTION  函数
TRIGGER   触发器
PACKAGE  包
PACKAGE BODY 包体

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-18
text改成*
SELECT * FROM ALL_SOURCE where TYPE='PROCEDURE' and text like '%procedure%' and owner='JYJ3'
第2个回答  2011-06-18
d
第3个回答  2011-06-18
不会吧,好象都有,只不过会按行拆开而已追问

我rs.getstring 就很短的一句头,然后plsql里面也就显示一个头,我实际内容有大半面呢

追答

text like '%procedure%' 肯定是不正確的.
因為它限定的某行數據,
只有通過 text like '%procedure%' 找到procedure的名字,再進行查詢才可以

本回答被提问者采纳