Step it up now

Trigger 본문

수업/SQL

Trigger

케잉 2023. 11. 28. 20:56

특정 테이블에 INSERT, DELETE, UPDATE 같은 DML문이 수행되었을 때,

데이터베이스에서 자동으로 동작하도록 작성된 프로그램

 

-- 호출할 필요없이 자동으로 실행됨 - 자동으로 동기화 필요할 때 사용가능
-- 트리거는 비활성화 또는 활성화 할 수 있다  - 왜냐면 자동으로 실행되니까

 

 

 

[Syntax]

 

Create Trigger 트리거명
  Before (or After)
  UPDATE OR DELETE OR INSERT ON 테이블명
  [FOR EACH ROW] - 생략가능
DECLARE
  변수선언부
BEGIN
  프로그램 코딩부
END;

 

 

--트리거 선언
create or replace trigger trg_deptcopy
after
insert or update or delete  on dept
-- 각 로우에 트리거 적용한다 
for each row
begin
--dept_copy 테이블에 데이터 삽입
    if inserting then
        insert into dept_copy(deptno, dname, loc)
--new는 새로 입력된 레코드 값 
        values(:new.deptno, :new.dname, :new.loc);
--업데이트   
   elsif updating then
        update dept_copy
        set dname = :new.dname, loc = :new.loc
        where deptno = :old.deptno;
--삭제     
    elsif deleting then
        delete from dept_copy
        where deptno = :old.deptno;
    end if;
end;

'수업 > SQL' 카테고리의 다른 글

오라클 id, 주소, 포트번호 기재 파일  (0) 2023.12.28
Prosedure - Insert, Update, Delete  (0) 2023.11.28
procedure - cursor  (1) 2023.11.28
procedure 사용하는 이유, 선언  (1) 2023.11.28
procedure 출력 확인  (0) 2023.11.27