You are on page 1of 2

1.

Cập nhật dữ liệu khi có khách hàng A có nhu cầu thuê xe có mã xe MX01 với số
lượng là 1

CREATE TRIGGER CapNhat_KhachHangA_MX01

AFTER INSERT ON HDTHUE

FOR EACH ROW

BEGIN

IF NEW.MAHD IN (SELECT MAHD FROM HDTHUE WHERE MAXE =


'MX01' AND SLXETHUE = 1) THEN

UPDATE DMXE SET SLXE = SLXE - 1 WHERE MAXE = 'MX01';

END IF;

END;

2. Cập nhật dữ liệu khi có khách hàng B có nhu cầu thuê xe có mã xe MX02 với số
lượng là 3

CREATE TRIGGER CapNhat_KhachHangB_MX02

AFTER INSERT ON HDTHUE

FOR EACH ROW

BEGIN

IF NEW.MAHD IN (SELECT MAHD FROM HDTHUE WHERE MAXE =


'MX02' AND SLXETHUE = 3) THEN

UPDATE DMXE SET SLXE = SLXE - 3 WHERE MAXE = 'MX02';

END IF;

END;
3. Cập nhật dữ liệu khi khách hàng A hủy hợp đồng thuê xe

CREATE TRIGGER CapNhat_HuyHopDong_KhachHangA

AFTER DELETE ON HDTHUE

FOR EACH ROW

BEGIN

IF OLD.MAHD IN (SELECT MAHD FROM HDTHUE WHERE MAXE =


'MX01') THEN

UPDATE DMXE SET SLXE = SLXE + 1 WHERE MAXE = 'MX01';

END IF;

END;

4. Cập nhật dữ liệu khi khách hàng B có nhu cầu thuê thêm 2 chiếc xe nữa cùng hãng

CREATE TRIGGER CapNhat_ThemXe_KhachHangB

AFTER INSERT ON HDTHUE

FOR EACH ROW

BEGIN

IF NEW.MAHD IN (SELECT MAHD FROM HDTHUE WHERE MAXE IN


(SELECT MAXE FROM HDTHUE WHERE MAHD = NEW.MAHD AND MAXE =
'MX02') GROUP BY MAHD HAVING SUM(SLXETHUE) >= 3) THEN

UPDATE DMXE SET SLXE = SLXE - 2 WHERE HANGXE = (SELECT


HANGXE FROM DMXE WHERE MAXE = 'MX02');

END IF;

END;

You might also like