MySQL의 스토어드 프로시저는 SQL에 프로그래밍 기능을 추가해 일반 프로그래밍 언어와 비슷한 효과를 낸다.
스토어드 프로시저 형식
DELIMITER $$ -- 1
CREATE PROCEDURE 스토어드_프로시저_이름( IN 또는 OUT 매개변수) -- 2
BEGIN
// SQL 프로그래밍 코드 작성
END $$ -- 1
DELIMITER ;
DELIMITER
; 을 사용하는데 스토어드 프로시저 안에 있는 여러 SQL의 끝에도 세미콜론이 사용된다. 이 때 이 세미콜론이 SQL의 끝인지, 스토어드 프로시저의 끝인지 모호해질 수 있기 때문에 구분자를 $$로 바꿔서 $$가 나올 때까지는 스토어드 프로시저가 끝난 것이 아니라는 것을 표시하는 것. 즉, 프로시저 내에서 세미콜론은 SQL의 끝으로만 사용하고 $$를 스토어드 프로시저의 끝으로 사용.USE market_db; -- 1
DROP PROCEDURE IF EXISTS user_proc; -- 2
DELIMITER $$
CREATE PROCEDURE user_proc() -- 3
BEGIN
SELECT * FROM member; -- 4
END $$
DELIMITER ;
CALL user_proc(); -- 5
