P.365의 고객테이블 회원정보 변경트리거 작성하고 인증
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프로그래밍 활용
직접 함수를 만들어서 사용하는 기능
스토어드 함수 형식
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 커서이름
INSERT, UPDATE, DELETE 문이 실행될때 자동으로 실행되는 추가 코드 → 테이터 무결성을 지켜줌
CALL문으로 작동 시킬수 없음
IN, OUT 매개변수를 사용할수 없음
트리거 활용