SQL 프로그래밍은 기본적으로 스토어드 프로시저 안에 만들어야 한다.
DELIMITER $$
CREATE PROCEDURE 스토어드_프로시저_이름()
BEGIN
-- 이 부분에 SQL 프로그래밍 코딩
END $$
DELIMITER ;
CALL 스토어드_프로시저_이름();
IF <조건식> THEN
SQL 문장들
END IF;
‘SQL 문장들’이 한 문장이라면 그 문장만 써도 되지만, 두 문장 이상이 처리되어야 할 때는 BEGIN ~ END 로 묶어주어야 한다.
DROP PROCEDURE IF EXIST ifProc1;
DELIMITER $$
CREATE PROCEDURE ifProc1()
BEGIN
IF 100 = 100 THEN
SELECT '100은 100과 같습니다';
END IF:
END $$
DELIMITER;
CALL ifProc();

DROP PROCEDURE IF EXISTS ifProc12;
DELIMITER $$
CREATE PROCEDURE ifProc2()
BEGIN
DECLARE myNum INT;
SET myNum = 200;
IF myNum = 100 THEN
SELECT '100입니다.';
ELSE
SELECT '100이 아닙니다.';
END IF;
END $$
DELIMITER ;
CALL ifProc2();

아이디가 APN(에이핑크)인 회원의 데뷔 일자가 5년이 넘었는지 확인해보고 5년이 넘었으면 축하 메세지 출력
DROP PROCEDURE IF EXISTS ifProc3;
DELIMITER $$
CREATE PROCEDURE ifProc3()
BEGIN
DECLARE debutDate DATE; -- 데뷔 일자
DECLARE curDate DATE; -- 오늘
DECLARE days INT; -- 활동한 일수
SELECT debut_date INTO debutDate
FROM market_db.member
WHERE mem_id = 'APN';
SET curDate = CURRENT_DATE(); -- 현재 날짜
SET days = DATEDIFF(curDate, debutDate); -- 날짜의 차이, 일 단위
IF (days/365) >= 5 THEN
SELECT CONCAT('데뷔한 지 ', days, '일이나 지났습니다. 축하합니다.');
ELSE
SELECT '데뷔한 지 ' + days + '일밖에 안되었네요. 화이팅';
END IF;
END $$
DELIMITER ;
CALL ifProc3();