USE triggerDB;
CREATE TABLE orderTBL -- 구매 테이블
( orderNo INT AUTO_INCREMENT PRIMARY KEY, -- 구매 일련번호
userID VARCHAR(5), -- 구매한 회원 아이디
prodName VARCHAR(5), -- 구매한 물건
orderamount INT -- 구매한 개수
);
CREATE TABLE prodTBL -- 물품 테이블
( prodName VARCHAR(5), -- 물건 이름
account INT -- 남은 물건 수량
);
CREATE TABLE deliverTBL -- 배송 테이블
( deliverNo INT AUTO_INCREMENT PRIMARY KEY, -- 배송 일련번호
prodName VARCHAR(5), -- 배송할 물건
account INT -- 배송할 물건 개수
);
drop trigger if exists order_insert_trg;
delimiter //
create trigger order_insert_trg
after insert on orderTBL for each row
begin
update prodTBL set account=account-new.orderamount
where prodname=new.prodname;
end //
delimiter ;
drop trigger if exists prodtbl_update_trg;
delimiter //
create trigger prodtbl_update_trg
after update on prodtbl for each row
begin
declare orderamount int;
set orderamount=old.account-new.account;
insert into delivertbl values(null,new.prodname,orderamount);
end //
delimiter ;
insert into ordertbl values(null,'john','배',5);
insert into ordertbl values(null,'kja','귤',10);
insert into ordertbl values(null,'sujee','사과',8);
'프로그래밍 언어 > SQL' 카테고리의 다른 글
[SQL] 키(슈퍼키,대체키,후보키,기본키,외래키) (0) | 2022.07.11 |
---|---|
[SQL] DDL, DML, DCL 이란? (0) | 2022.07.09 |
[SQL] 트리거 (0) | 2022.06.12 |
[SQL] 비번 재설정 하는 방법 (0) | 2022.06.07 |
[SQL] 커서 #1 (0) | 2022.06.07 |