Backend/Database

Mysql 함수, 프로시저 생성시 주의사항

findmypiece 2021. 3. 19. 13:51
728x90

함수나 프로시저는 여러 sql 문이 조합되어 있다.

그런데 sql문의 종료태그가 기본적으로 ; 이기 때문에

생성시 프로시저나 함수의 전체 구문이 제대로 실행되지 않을 수 있다.

 

이에 생성 구문 실행시 임시로 종료태그를 변경할 필요가 있다.

아래와 같이 하면 된다.

DELIMITER $$
	
    #CREATE FUNCTION...
    #or
    #CREATE PROCEDURE...

END $$

DELIMITER ;

 

보면 알겠지만 생성 구문 실행 전 DELIMITER $$ 를 통해 종료태그를 $$로 변경해서

END $$ 가 구문의 종료로 인식된다.

그리고 DELIMITER ; 를 통해 종료태그를 다시 ; 로 돌려놓는다.

728x90