Backend/Database
Mysql 함수, 프로시저 생성시 주의사항
findmypiece
2021. 3. 19. 13:51
728x90
함수나 프로시저는 여러 sql 문이 조합되어 있다.
그런데 sql문의 종료태그가 기본적으로 ; 이기 때문에
생성시 프로시저나 함수의 전체 구문이 제대로 실행되지 않을 수 있다.
이에 생성 구문 실행시 임시로 종료태그를 변경할 필요가 있다.
아래와 같이 하면 된다.
DELIMITER $$
#CREATE FUNCTION...
#or
#CREATE PROCEDURE...
END $$
DELIMITER ;
보면 알겠지만 생성 구문 실행 전 DELIMITER $$ 를 통해 종료태그를 $$로 변경해서
END $$ 가 구문의 종료로 인식된다.
그리고 DELIMITER ; 를 통해 종료태그를 다시 ; 로 돌려놓는다.
728x90