[혼공S_6주]chapter07 스토어드 프로시저

study_record·2024년 8월 7일
0

혼공S

목록 보기
7/9

진도🐥

기본미션✨

P.365의 고객테이블 회원정보 변경트리거 작성하고 인증



공부📚

07-1 스토어드 프로시저 사용방법

스토어드 프로시저
  • MySQL에서 제동하는 기능으로 프로그래밍 기능을 제공함

  • 동작의 일괄처리를 위해 사용함

  • 스토어드 프로시저 필수형식

    DELIMITER $ (1)
    CREATE PROCEDURE 스토어드프로시저_이름(IN / OUT 매개변수) (2)
    BEGIN
    SQL 프로그래밍 코드 작성
    END $
    DELIMITER

    (1) $ : 스토어드 프로시저를 묶어주는 기능. #,%,/,& 을 써도 됨
    (2) CREATE PROCEDURE : 스토어드 프로시저의 이름을 정해줌
    (3) DELIMITER : 구분자

  • 스토어드 프로시저 호출

    CALL 스토어드프로시저_이름();

  • 스토어드 프로시저 삭제

    DROP PROCEDURE 스토어드프로시저_이름;

  • 스토어드 프로시저 입력/출력 매개변수 지정

    IN 입력_매개변수이름 데이터형식

    OUT 출력_매개변수이름 데이터형식

  • 스토어드 프로시저 입력/출력 매개변수 실행

    CALL 프로시저_이름(전달값);

    CALL 프로시저_이름(@변수명)
    SELECT @변수명

  • 스토어드 프로시저에 SQL프로그래밍 활용


07-2 스토어드 함수와 커서

스토어드 함수
  • 직접 함수를 만들어서 사용하는 기능

  • 스토어드 함수 형식

    DELIMITER $
    CREATE FUNCTION 스토어드함수(매개변수)
    RETURNS 반환방식
    BEGIN
    프로그래밍 코딩
    RETURN 반환값
    END $
    DELIMITER ;
    SELECT 스토어드함수

  • RETURNS문 : 반환할 값의 데이터 형식을 지정함

  • RETURN문 : 하나의 값 반환

  • SELECT문으로 호출

  • 스토어드 함수에서는 SELECT문 사용못함

  • 계산을 통해서 하나의 값 반환

  • SELECT ~ INTO ~ : 값을 저장했다가 사용

  • 기존 스튜어드 함수 확인

    SHOW CREATE FUNCTION 함수이름;

  • 스튜어드 함수 삭제

    DROP FUNCTION 함수이름;



커서로 처리하기
  • 커서 : 테이블에서 한행씩 처리함

  • 커서는 스토어드 프러시저안에 작성함

  • 커서의 작동순서 : 커서선언 → 반복 조건 선언하기 → 커서 열기 → 데이터 가져오기/데이터처리하기 <반복구간> → 커서 닫기

  • 커서와 스토어드 프로시저는 같이 사용함


    -- 변수 선언 --
    DECLARE 변수1
    DECLARE 변수2
    -- 커서 선언 --
    DECLARE 커서이름 CURCOR FOR SELECT문
    -- 반족조건 선언 --
    DECLARE CONTINUE HANDLER
    -- 행이 더 없을경우 수행하는 것 --
    FOR NOT FOUND
    -- 커서열기 --
    OPEN 커서이름
    -- 커서가 반복할 코드 시작 --
    cursor_loop : LOOP ~
    -- 커서가 빠져나갈 조건 --
    IF ~ THEN LEAVE coursor_loop; END IF;
    -- 커서 반복 조건 종료 --
    END LOOP coursor_loop
    -- 커서 닫기 --
    CLOSE 커서이름

07-3 자동 실행되는 트리거

트리거
  • INSERT, UPDATE, DELETE 문이 실행될때 자동으로 실행되는 추가 코드 → 테이터 무결성을 지켜줌

  • CALL문으로 작동 시킬수 없음

  • IN, OUT 매개변수를 사용할수 없음

  • 트리거 활용




      

0개의 댓글