DELIMITER => 저장 프로시저 내부에 사용하는 SQL문은 일반 SQL이기 떄문에 세미클론으로 끝맺어야 한다.
이 때, 저장 프로시저 작성이 완료되지 않았음에도 SQL문이 실행되는 위험을 막기위해 구분자를 사용해야하는데 이 때 DELIMITER
를 사용한다.
CREATE PROCEDURE 프로시저명 () => 프로시저 명을 선언하고 안에 파라미터 변수들을 선언한다.
BEGIN ~ END => 프로시저 실행을 정의한다. 여러 SQL문을 사용할 수 있다.
CALL => 이 때 선언한 파라미터 순서에 맞게 매개변수를 넣어주어야 한다.
스토어드 함수는 말 그대로 함수이기 때문에 어떠한 값을 반환하는데 사용된다. 그래서 반드시 RETURN
으로 1개 값을 반환해야 한다.
그리고 호출할 때 SELECT 스토어드 함수이름
으로 호출해야 한다.
그래서 세금 계산
, 가격 계산
, 데이터 변환
등 하나의 값으로 리턴되는 로직에 사용된다.