절차에 대한 ALTER ROUTINE 권한이 있는 경우 ALTER PROCEDURE 의 도움으로 명령문을 사용하여 MySQL 저장 프로시저를 변경할 수 있습니다. 이를 보여주기 위해 다음과 같은 create 문을 포함하는 'delete_studentinfo'라는 저장 프로시저의 예를 들어보겠습니다. -
mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G******************************** 1. 행 ********* ****************** 절차:Delete_studentinfo sql_mode:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION@프로시저 생성`localhost=`C `Delete_studentinfo`( IN p_id INT)BEGINDELETE FROM student_infoWHERE ID=p_id;ENDcharacter_set_client:cp850collation_connection:cp850_general_ci 데이터베이스 데이터 정렬:latin1_swedish_ci1 행 세트(0.01초)
위의 결과 집합에서 'delete_studentinfo' 저장 프로시저에 주석이 없음을 알 수 있습니다. 이제 ALTER PROCEDURE 문을 사용하여 다음과 같이 주석을 추가할 수 있습니다. -
mysql> ALTER PROCEDURE Delete_studentinfo -> COMMENT '레코드 삭제'//쿼리 OK, 영향을 받는 행 0개(0.03초)
이제 다음 쿼리의 결과 집합을 사용하여 저장 프로시저에 주석이 추가되었음을 확인할 수 있습니다. -
mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G******************************** 1. 행 ********* ****************** 절차:Delete_studentinfo sql_mode:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION@프로시저 생성`localhost=`C `Delete_studentinfo`( IN p_id INT) COMMENT '기록 삭제'BEGINDELETE FROM student_infoWHERE ID=p_id;ENDcharacter_set_client:cp850collation_connection:cp850_general_ci 데이터베이스 데이터 정렬:latin1_swedish_ci10> in set(0)