공부/My SQL

뷰, 스토어드 프로시저, 트리거

딸기버블티 2020. 12. 12. 19:05

> 뷰 생성

 

1
2
3
CREATE VIEW 뷰이름
AS
SELECT * FROM 뷰에 넣을테이블 ;
cs

 

어느 테이블에서 SELECT 해서 뷰이름이라는 VIEW 를 생성한다. (테이블 데이터 그대로 복사된다)

 

 

> 스토어드 프로시저

스토어드 프로시저란 여러 SQL 문을 하나로 묶어서 편리하게 사용하는 기능이다.

SQL 뿐만 아니라 다른 프로그래밍 언어와 같은 기능을 담당할 수도 있다.

1
2
3
4
5
CREATE PROCEDURE 프로시져이름()
BEGIN
    SELECT * FROM 테이블;
    SELECT * FROM 테이블2;
END
cs

BEGIN 과 END 사이에 있는 쿼리문으로 프로시저를 생성한다.

 

프로시저 호출은 

1
CALL 프로시져이름();
cs

위와 같이 CALL 을 써서 호출한다.

 

> 트리거

트리거란 테이블에 부착되어 테이블에 INSERT나 UPDATE 또는 DELETED 작업이 발생되면 실행되는 코드이다.

간단한 트리거 예시

 

1
2
3
4
5
6
7
8
9
10
DELIMITER //
CREATE TRIGGER trg_deletedMemberTBL -- 트리거 이름
    AFTER DELETE -- 삭제 후에 작동하게 지정
    ON memberTBL -- 테이블명
    FOR EACH ROW -- 각 행마다 적용시킴
 BEGIN
    INSERT INTO deletedMemberTBL
         VALUES    (OLD.memberID, OLD.memberName, OLD.memberAddress, CURDATE() );
 END //
 DELIMITER ;

 

trg_deletedMemberTBL 이라는 트리거를 생성한다.

이 트리거는 memberTBL 에서 데이터가 삭제될때마다 실행된다.

memberTBL 에서 데이터가 삭제되면 이 데이터를 deletedMemberTBL 테이블에 Insert 한다.