DELIMITER $$
CREATE PROCEDURE 프로시저이름
BEGIN
-- SQL 프로그래밍 코드
END $$
DELIMITER ;
CALL 프로시저이름();
함수 호출하듯이 CALL 하면 사용할 수 있음
BUT 프로시저는 값을 RETURN하는 개념이 없음
매개 변수
값을 전달 받기 위한 IIN
값을 전달 하기 위한 OUT
DELIMITER $$
CREATE PROCEDURE 프로시저이름 (
IN|OUT 매개변수 데이터 유형,
...
)
BEGIN
-- SQL 프로그래밍 코드
END $$
DELIMITER ;
CALL 프로시저이름([매개값, ...]);
IF 조건식 THEN
실행 문장
ELSE
실행 문장
END IF
CASE
WHEN 조건식 1 THEN 실행 문장 1
WHEN 조건식 2 THEN 실행 문장 2
...
[ELSE 실행 문장]
END CASE;
DELIMITER $$
CREATE PROCEDURE errorProc()
BEGIN
DECLARE CONTINUE HANDLER FOR 1146 SELECT '테이블이 없어요ㅠㅠ' AS '메시지';
SELECT * FROM noTable;
END $$
DELIMITER ;
CALL errorProc();
DELIMITER $$
CREATE OR REPLACE PROCEDURE errorProc()
BEGIN
DECLARE CONTINUE HANDLER FOR 1146
SELECT '테이블이 존재하지 않습니다' AS 'message';
SELECT * FROM notable;
END$$
DELIMITER ;
CALL errorProc();
DROP PROCEDURE 프로시저이름;