"ORACLE 프로시져"의 두 판 사이의 차이
DB CAFE
5번째 줄: | 5번째 줄: | ||
| | ||
− | < | + | <syntaxhighlight lang="sql"> |
SELECT * | SELECT * | ||
FROM DBA_SOURCE | FROM DBA_SOURCE | ||
WHERE TYPE='PROCEDURE' | WHERE TYPE='PROCEDURE' | ||
AND TEXT LIKE '%PROD_ID%'; | AND TEXT LIKE '%PROD_ID%'; | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == 패키지에서 주석처리 되지 않은 항목 조회 == | ||
+ | /* | ||
+ | |||
+ | 오라클 사용자가 사용하는 패키지의 BODY 소스를 검색하여 | ||
+ | 주식이 없거나 패턴이 맞지 않는 항목을 조회 한다. | ||
+ | |||
+ | */ | ||
+ | |||
+ | <source lang="sql"> | ||
+ | SELECT * FROM DBA_OBJECTS B | ||
+ | WHERE B.OWNER =:IN_OWNER | ||
+ | AND B.OBJECT_TYPE = 'PACKAGE BODY' | ||
+ | AND B.STATUS <> 'INVALID' -- VALID 상태만 조회, 만약 INVALID 된다고 해도 패키지를 수행하는 순간 컴파일 됨. | ||
+ | AND NOT EXISTS (SELECT 1 | ||
+ | FROM DBA_SOURCE A | ||
+ | WHERE A.OWNER = B.OWNER | ||
+ | AND A.TYPE = B.OBJECT_TYPE | ||
+ | AND A.NAME = B.OBJECT_NAME | ||
+ | AND A.LINE <= 5 | ||
+ | AND A.TEXT LIKE '%NAME%'); | ||
+ | |||
</source> | </source> |
2018년 8월 22일 (수) 15:44 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 프로시져[편집]
1.1 프로시져 소스 조회[편집]
<syntaxhighlight lang="sql"> SELECT *
FROM DBA_SOURCE WHERE TYPE='PROCEDURE' AND TEXT LIKE '%PROD_ID%';
</syntaxhighlight>
1.2 패키지에서 주석처리 되지 않은 항목 조회[편집]
/*
오라클 사용자가 사용하는 패키지의 BODY 소스를 검색하여 주식이 없거나 패턴이 맞지 않는 항목을 조회 한다.
- /
SELECT * FROM DBA_OBJECTS B
WHERE B.OWNER =:IN_OWNER
AND B.OBJECT_TYPE = 'PACKAGE BODY'
AND B.STATUS <> 'INVALID' -- VALID 상태만 조회, 만약 INVALID 된다고 해도 패키지를 수행하는 순간 컴파일 됨.
AND NOT EXISTS (SELECT 1
FROM DBA_SOURCE A
WHERE A.OWNER = B.OWNER
AND A.TYPE = B.OBJECT_TYPE
AND A.NAME = B.OBJECT_NAME
AND A.LINE <= 5
AND A.TEXT LIKE '%NAME%');