MYSQL에서 제공되는 프로그래밍 기능
쿼리문의 집합. 어떠한 동작을 일괄 처리하기 위한 용도로 사용
스토어드 프로시저의 개요
USE sqlDB;
DROP PROCEDURE IF EXISTS userProc;
DELIMITER $$
CREATE PROCEDURE userProc()
BEGIN
SELECT * FROM userTBL; -- 핵심 내용
END
DELIMITER ;
CALL userProc();
CALL 프로시저_이름()으로 호출
매개변수의 사용
IN 입력_매개변수_이름 데이터 형식
OUT 출력_매개변수_이름 데이터 형식
출력변수 사용법
SELECT MAX(id) INTO outValue FROM testTBL;
스토어드 프로시저의 특징
1) MySQL의 성능을 향상시킬 수 있다.
2) 유지관리가 간편하다.
3) 모듈식 프로그래밍이 가능하다.
4) 보안을 강화할 수 있다.
스토어드 함수의 개요
사용자가 직접 만들어서 사용하는 함수
DELIMITER $$
CREATE FUNCTION 스토어드 함수이름(파라미터)
RETURNS 반환형식
BEGIN
프로그래밍 코딩
RETURN 반환값;
END $$
DELIMETER ;
SELECT 스토어드_함수이름();
트리거의 개요
테이블에 삽입, 수정, 삭제 등의 작업(이벤트)이 발생 시에 자동으로 작동되는 개체
DROP TRIGGER IF EXISTS testTrg;
DELIMITER //
CREATE TRIGGER testTrg --트리거 이름
AFTER DELETE --삭제 후 작동하도록 지정
ON testTbl --트리거를 부착할 테이블
FOR EACH ROW --각 행마다 적용
BEGIN
SET @msg = '가수 그룹이 삭제됨';
END
DELIMITER ;
트리거의 종류
AFTER 트리거
BEFORE 트리거
트리거가 생성하는 임시 테이블
: INSERT, UPDATE, DELETE 작업이 수행되면 임시로 사용되는 시스템 테이블이 두 개 있는데, 'NEW'와 'OLD'이다.
