Computer Science/정보처리기사

[정보처리기사/실기] SQL - Procedure / Trigger

minjiwoo 2022. 9. 13. 10:51
728x90

1. Procedure 

프로시저 (Procedure) : SQL을 사용하여 작성한 일련의 작업을 저장해두고 호출을 통해 원할 때마다 저장한 작업을 수행하도록 하는 절차형 SQL이다 
데이터베이스에 저장되어 수행되기 때문에 stored procedure라고도 불린다 

CREATE OR REPLACE PROCEDURE score_count(sc IN INT)
IS
	a INT;

BEGIN  
	SELECT COUNT(*) INTO a FROM score WHERE cond >= sc;
    INSERT INTO total(mem_count) VALUES(a);
    COMMIT;
END;

IN : 호출 프로그램이 프로시저에게 값을 전달할 때 지정
OUT : 프로시저가 호출 프로그램에게 값을 반환할 때 지정 

2. Trigger 

데이터 베이스 시스템에서 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생 할 때 관련 작업이 자동으로 수행되게 하는 절차형 SQL이다. 
트리거는 데이터베이스에 저장됨. 데이터 변경 및 무결성 유지, 로그 출력 등의 목적으로 사용됨. 

DECLARE
EVENT
BEGIN
   - CONTROL 
   - SQL 
   - EXCEPTION 
END

CREATE TRIGGER 사원_tri AFTER UPDATE ON 사원
FOR EACH ROW 
BEGIN
	IF (태도+성과)/2 >= 50 THEN
		DBMS_OUTPUT.PUT_LINE('우수');
    ELSE 
    	DBMS_OUTPUT.PUT_LINE('미달');
	END IF;
END;
728x90