저장 프로시저에 대한 ALTER ROUTINE 권한이 있다면 DROP PROCEDURE 문을 사용하여 MySQL 저장 프로시저를 간단히 삭제할 수 있습니다.
저장 프로시저 삭제하기
다음 예제에서는 'coursedetails'라는 이름의 저장 프로시저를 삭제하는 과정을 보여줍니다.
mysql> DROP PROCEDURE coursedetails;
Query OK, 0 rows affected (0.68 sec)
위 쿼리를 실행하면 'coursedetails'라는 이름의 저장 프로시저가 데이터베이스에서 제거됩니다.
삭제 여부 확인하는 방법
프로시저가 실제로 삭제되었는지 확인하려면 SHOW CREATE PROCEDURE 문을 실행해 보면 됩니다. 해당 프로시저가 더 이상 존재하지 않으므로 오류가 반환되는데, 이를 통해 삭제가 정상적으로 완료되었음을 확인할 수 있습니다.
mysql> SHOW CREATE PROCEDURE coursedetails;
ERROR 1305 (42000): PROCEDURE db_name.coursedetails does not exist
안전하게 삭제하는 팁: IF EXISTS 옵션
존재하지 않는 프로시저를 삭제하려고 하면 오류가 발생합니다. 이러한 오류를 방지하고 싶다면 IF EXISTS 옵션을 함께 사용하는 것이 좋습니다.
mysql> DROP PROCEDURE IF EXISTS coursedetails;
이렇게 하면 프로시저가 존재하지 않아도 오류 대신 경고만 표시되며 쿼리가 정상적으로 실행됩니다. 배치 작업이나 자동화 스크립트에서 저장 프로시저를 관리할 때 특히 유용한 방법입니다.