🍷DataBase/🎮Oracle
[Oracle/오라클] 트리거(trigger)
김말자
2022. 11. 15. 16:32
728x90
728x90
BIG
트리거
어떤 테이블에 액션이 들어가면 b테이블에 액션이 동반하는 것을 말함
보통 테이블에 update나 delete기능을 쓸떄 많이 씀
ex)회원탈퇴시 정보를 모아두기위해사용
자료들을 커밋한 후
트리거를 받을 테이블을 하나 만듬
Create TRIGGER 트리거명 --트리거생성
AFTER delete --지울때나 수정할때 delete, update가 들어갈 수 있음
on 움직일 테이블명
for each row
begin 테이블이 움직일때 할 행동
insert into 움직일 테이블이 움직였을때 같이 실행될 테이블(보통삽입을 많이함)
values( 컬럼);
end; 마침
ex)
create table user1( -- 원테이블
userName nchar(3) primary key,
mobile varchar2(12)
);
움직일 테이블 생성
--자료넣기
insert into USER values ('김둘리','01049940887');
insert into USER values ('최하니','01082880362');
insert into USER values ('박똘이','01060940215');
뒤에 번호는 임의번호임
commit; --커밋
커밋해줌
움직임당했을때 들어올 테이블만듬
create table Triuser(
userName nchar(3) primary key,
mobile varchar2(12),
delDate DATE
);
트리거생성
Create TRIGGER del_user --트리거생성
AFTER delete
on user1
for each row
begin
insert into Triuser
values( :old.userName, :old.mobile, sysdate());
end;
실행되는지 확인
delete from USER1 where USERNAME='둘리'; --트리거를 위한 레코드날리기
select * from Triuser; -- 트리거확인을 위한 테이블
728x90
반응형
BIG