반응형

 

글만 쓰기엔 허전해서 그냥 넣은그림

프로그램에서 업무를 수행하는 모듈(기능)은 다양하게 개발하여 처리할수 있다.


예를들어 뷰에서 자바스크립트로 만들어서 처리할수도 있고, 백단에서 자바등으로 만들어서 처리할수 있으며, 

DB의 프로시저 및 펑션등으로도 할수 있다.

 

만약 특정업무를 수행하는 기능에서 DB작업시 테이블명이나 WHERE조건이 변경되어야 할때

SQL을 정의해둔 XML이나 JSP등의 경우엔 IDE에서 통합검색으로 충분히 찾아서 조치할수 있지만

해당 소프트웨어가 프로시저와 펑션을 사용하는 업무가 있다면 IDE에서는 찾기가 어렵다.

찾기가 어렵다는건, 유지보수에서 놓치게 된다는 것이고 또다시 버그가 발생할거란 소리다.

이런경우를 최대한 막기위해선 프로시저와 펑션의 내부를 검색하여 찾아내야한다.

 

바로 아래의 방법들로 가능하다.

/*
1. PROCEDURE 내용 검색하기
*/
SELECT *
FROM  USER_SOURCE
WHERE  TYPE = 'PROCEDURE' --패키지나 다른 부분을 검색 하고 싶다면 대문자로 입력한다.
AND TEXT LIKE  '%INS_ID%' --찾고자 하는 내용을 입력한다.
;

/*
2. FUNCTION 내용 검색 : 위와 동일한 방법으로 사용한다.
*/
SELECT *
FROM  USER_SOURCE
WHERE TYPE = 'FUNCTION' 
AND TEXT LIKE  '%REG%'  
​;

/*
번외로, 테이블 생성시 중복되는 테이블명은 없는지? 
아니면 유지보수시에 이름이 비슷하면서 유용한 함수는 없는지 찾아보고 싶을때 쓰면 괜찮은 방법이다.
*/
SELECT *
FROM USER_OBJECTS
WHERE OBJECT_NAME LIKE '%FN_GET_%' --찾고싶은 테이블명 또는 함수 명 등등
AND OBJECT_TYPE = 'TABLE' -- TABLE, INDEX,FUNCTION, PROCEDURE 다양하게 검색할 수 있다.
;

생각보다 유용하게 쓸수있다.
눈으로 보기보단, 위에 입력된 쿼리들을 직접 입력해보길 권장한다.

 

 

반응형

+ Recent posts