1. MySQL Stored Program (MySQL 저장 프로그램)
ㅇ 나중에 절차적으로 실행할 수 있도록 서버 측에 저장되는 프로그램들을 총칭
- Stored Function : 수식에 사용되며 계산결과 값 만을 반환
- Stored Procedure : 결과 세트를 생성 및 반환
- Trigger : 테이블이 INSERT,DELETE,UPDATE 될 때에 만 실행됨
- Event : 스케줄러에 저장되고 시간에 의해 실행됨 ☞ MySQL 이벤트 참조
ㅇ 모두 동일한 문법으로 작성 처리됨
ㅇ 실행 방법
- 저장 함수 실행 : `SELECT 문` 내에서 호출 실행
- 저장 프로시저 실행 : `CALL 프로시저명;`으로 호출 실행
- 이벤트 실행 : `이벤트 스케줄러`를 가동시켜 그에의해 실행
* 외부 텍스트파일 *.sql 실행 : SOURCE 외부파일명;
ㅇ 현재 등록된 Procedure/Function 확인 방법
- Stored Procedure : SHOW PROCEDURE STATUS;
- Stored Function : SHOW FUNCTION STATUS;
2. MySQL 저장 프로그램의 주요 문법
ㅇ 주석 (comment) : /* */, #, -- (3 가지)
ㅇ 제어문
- IF 문
IF expression THEN commands
[ELSEIF expression THEN commands ....]
[ELSE commands]
END IF;
- CASE 문
CASE expression
WHEN value THEN statements
[WHEN value THEN statements]
[WHEN value THEN statements]
.
.
[ELSE statements]
END CASE;
ㅇ 반복문
- LOOP ~ END (빠져나가기 : LEAVE, 처음으로가기 : ITERATE)
- REPEAT ~ UNTIL
- WHILE
ㅇ CURSOR
- 1 이상의 결과 set를 return 하기 위해 사용
- DECLARE cname CURSOR FOR SELECT ...
. OPEN : 커서를 사용하기 위해 fetch 전에 반드시 처리
. FETCH : 커서가 다음 row 로 이동
. CLOSE : 커서를 닫아줌