728x90
프로시저나 펑션을 만들다 보면 여러 소스코드 파일을 검색하듯이 여러 프로시저나 펑션의 내용을 검색하고자 할 경우가 있습니다.
결론부터 말하자면 USER_SOURCE 뷰를 이용하면 됩니다.
SELECT NAME GORUP BY NAME
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
(TYPE = 'FUNCTION" 으로 하면 펑션에서 검색하게 됩니다.)
아래는 USER_SOURCE뷰의 스크립트입니다. (Oracle8i 기준입니다.)
CREATE OR REPLACE VIEW USER_SOURCE
(NAME, TYPE, LINE, TEXT)
AS
select o.name,
decode(o.type#, 7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',
11, 'PACKAGE BODY', 13, 'TYPE', 14, 'TYPE BODY',
'UNDEFINED'),
s.line, s.source
from sys.obj$ o, sys.source$ s
where o.obj# = s.obj#
and o.type# in (7, 8, 9, 11, 13, 14)
and o.owner# = userenv('SCHEMAID')
union
select o.name, 'JAVA SOURCE', s.joxftlno, s.joxftsrc
from sys.obj$ o, x$joxfs s
where o.obj# = s.joxftobn
and o.type# = 28
and o.owner# = userenv('SCHEMAID')
/
728x90
'프로그래밍 > Oracle' 카테고리의 다른 글
오라클 테이블 정보 보기 (0) | 2015.04.23 |
---|---|
SQLPLUS 출력 컬럼 수 조정하기 (0) | 2014.07.31 |
오라클 날짜 함수 (0) | 2014.01.13 |
SQL LOADER 사용 기초 (0) | 2013.10.01 |
ORA-01476 : 제수가 0 입니다. (0) | 2012.05.14 |