MySQL Stored Program   MySQL 저장 프로그램

(2018-05-15)
1. MySQL Stored Program

  ㅇ 나중에 절차적으로 실행할 수 있도록 서버 측에 저장되는 프로그램들을 총칭
     - Stored Function  : 수식에 사용되며 계산결과 값 만을 반환
     - Stored Procedure : 결과 세트를 생성 및 반환
     - Trigger          : 테이블이 INSERT,DELETE,UPDATE 될 때에 만 실행됨
     - Event            : 스케줄러에 저장되고 시간에 의해 실행됨

  ㅇ 모두 동일한 문법으로 작성 처리됨

  ㅇ 실행 방법
     - 저장 함수 실행        : `SELECT 문` 내에서 호출 실행
     - 저장 프로시저 실행    : `CALL 프로시저명;`으로 호출 실행
     - 이벤트 실행           : `이벤트 스케줄러`를 가동시켜 그에의해 실행

     * 외부 텍스트파일 *.sql 실행 : SOURCE 외부파일명; 

  ㅇ 현재 등록된 Procedure/Function 확인 방법 
     - Stored Procedure : SHOW PROCEDURE STATUS;
     - Stored Function  : SHOW FUNCTION STATUS;


2. Event 및 Event Scheduler이벤트 스케줄러 가동 여부 확인 : SHOW VARIABLES LIKE 'event_scheduler';
  ㅇ 서버 기동시 강제 가동          : (my.ini 또는 my.cnf) [mysqld] event_scheduler = ON
     - 서버 기동시, 이벤트 스케줄러 스레드가 자동 가동됨
  ㅇ 시스템 변수에 의한 가동        : SET GLOBAL EVENT_SCHEDULER = ON;
  ㅇ 현재 등록된 이벤트 확인        : show events;
  ㅇ 사용 例) 
       
DROP EVENT IF EXISTS periodic_stat;

CREATE EVENT 이벤트명
    ON SCHEDULE
        EVERY 30 MINUTE            -- 매 30분 마다
          -- 1회 만 실행의 경우에는, 
          -- EVERY 절 대신에. => AT 절을 사용 함
	STARTS CURRENT_TIMESTAMP   -- 현재 시각(CURRENT_TIMESTAMP)부터 시작 함
          -- 또는, SRART '2018-05-15 00:00:00' END '2018-05-15 02:00:00' 처럼
          -- 직접적으로 시작 끝의 시각을 명시하는 것도 가능
    DO
	CALL 함수명();             -- 별도수행 함수에 의한 호출 실행
          -- 단지 1개 쿼리문 또는 별도 프로시저 실행
          -- 또는 BEGIN ~ END에 의한 복합절도 가능
3. 주요 문법주석 (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 : 커서를 닫아줌


[MySQL] 1. MySQL 2. MySQL 서버 3. 저장 프로그램 4. 문자 세트 5. MySQL 백업 6. MySQL 계정 7. MySQL 활용 (기타) 8. MySQL 함수
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
    4.   데이터베이스
          1. DB
      1.   데이터베이스 기초
      2.   관계형데이터베이스
            1. RDB
            2. RDBMS
            3. 관계 대수
        1.   RDB 용어
        2.   SQL
        3.   MySQL
          1.   1. MySQL
              2. MySQL 서버
              3. 저장 프로그램
              4. 문자 세트
              5. MySQL 백업
              6. MySQL 계정
              7. MySQL 활용 (기타)
              8. MySQL 함수
      3.   DB 모델링/설계
      4.   회복,병행제어
      5.   데이터웨어하우스
      6.   데이터베이스(기타일반)
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록(시험중)     참고문헌