저장 프로시저

: SQL을 함수형태로 저장하고 사용하는 방법 (RETURN 이 있으면 함수고 없으면 프로시져)

CREATE PROCEDURE 프로시저명(인자 인자형,...)
BEGIN
     SQL 문장들
END

 저장 프로시저 정의

 CALL 프로시저명

 저장프로시저 호출

 DROP PROCEDURE 프로시저명;

 저장 프로시저 삭제


저장 함수

: SQL을 함수형태로 저장하고 사용하는 방법(RETURN 이 있으면 함수고 없으면 프로시져)

CREATE FUNCTION 함수명(인자 인자형,...) RETURNS 타입
BEGIN
     SQL문장들
END

함수정의 

함수명(인자) 

함수호출 

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 테이블명
     FOR EACH ROW
BEGIN
     변경 전 (OLD.칼럼명) 또는 변경후(NEW.칼럼명)을 이용한처리
END 

트리거 정의 

 DROP PROCEDURE 트리거명

저장프로시저 삭제 

EX)

DELIMITER $
CREATE TRIGGER 함수명 AFTER INSERT ON 테이블명
    FOR EACH ROW
BEGIN
    INSERT INTO 테이블명 VALUES (값,값...);
END$
DELIMITER;




'프로그래밍 > RDBMS - MySQL' 카테고리의 다른 글

대형 데이터베이스 구축/NoSQL  (0) 2017.03.29
Transaction/Lock/Isolation  (0) 2017.03.29
Bulk Insert  (0) 2017.03.29
Full Text Search  (0) 2017.03.29
데이터베이스 백업/파티셔닝/샤딩  (0) 2017.03.29

+ Recent posts