저장 프로시저(Stored Procedure) / 트리거(Trigger)
저장 프로시저
: SQL을 함수형태로 저장하고 사용하는 방법 (RETURN 이 있으면 함수고 없으면 프로시져)
CREATE PROCEDURE 프로시저명(인자 인자형,...) |
저장 프로시저 정의 |
CALL 프로시저명 |
저장프로시저 호출 |
DROP PROCEDURE 프로시저명; |
저장 프로시저 삭제 |
저장 함수
: SQL을 함수형태로 저장하고 사용하는 방법(RETURN 이 있으면 함수고 없으면 프로시져)
CREATE FUNCTION 함수명(인자 인자형,...) RETURNS 타입 |
함수정의 |
함수명(인자) |
함수호출 |
DROP FUNCTION 프로시져명 |
함수 삭제 |
EX)
DELIMITER //
CREATE FUNCTION CountLines() RETURNS INTEGER
BEGIN
DECLARE LINE_COUNT INTEGER; // 변수선언
SELECT COUNT(*) INTO LINE_COUNT FROM 테이블;
RETURN LINE_COUNT;
END
//
DELIMITER;
CountLine()
* 트리거
: 특정 조건이 되면 자동으로 호출(Callback)되는 저장 프로시져
: 레코드가 삭제되면 자동으로 참조무결성을 체크하는 트리거
CREATE TRIGGER 트리거명 BEFORE(또는 AFTER) CRUD선택 ON 테이블명 |
트리거 정의 |
DROP PROCEDURE 트리거명 |
저장프로시저 삭제 |
EX)
DELIMITER $
CREATE TRIGGER 함수명 AFTER INSERT ON 테이블명
FOR EACH ROW
BEGIN
INSERT INTO 테이블명 VALUES (값,값...);
END$
DELIMITER;