DataBase/MariaDB & MySQL
[MySQL] Mysql에서 프로시저(procedure) 안에 사용된 문자열 검색하기
희랍인 조르바
2019. 1. 15. 22:27
사용하지 않는 것으로 보이는 프로시저(procedure)를 삭제하려는데, 그 프로시저가 다른 프로시저를 콜하고 있었다… 이걸 어떡하지. 이 개념이라면 사용하지 않는 것으로 보였던 프로시저도 다른 곳에서 콜하면 어떡하지라는 생각이 들었다.
그래서 찾은 방법은 아래와 같다.
SELECT
ROUTINE_SCHEMA
, ROUTINE_NAME
, ROUTINE_DEFINITION
, ROUTINE_TYPE
FROM
INFORMATION_SCHEMA.ROUTINES
WHERE
ROUTINE_DEFINITION LIKE '%찾고자하는 문자열%'
AND ROUTINE_TYPE='PROCEDURE';
- ROUTINE_SCHEMA : 스키마 명
- ROUTINE_NAME : (여기서는) 프로시저 명
- ROUTINE_DEFINITION : (여기서는) 프로시저 내용
- ROUTINE_TYPE : 타입(예를 들어, PROCEDURE)
위와 같이 sql을 작성하면 찾고자하는 문자열이 사용된 프로시저를 모두 표시해준다.
끝.