39 lines
921 B
SQL
39 lines
921 B
SQL
/*
|
|
* Trigger declarations for hpr_hpr
|
|
*
|
|
*/
|
|
|
|
--
|
|
-- Table 'log' to hold details of certain background activities invoked by
|
|
-- stored procedures and triggers
|
|
--
|
|
DROP TABLE IF EXISTS log;
|
|
CREATE TABLE log (
|
|
id int(5) NOT NULL AUTO_INCREMENT,
|
|
stamp timestamp DEFAULT now(),
|
|
message text NOT NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
--
|
|
-- When an episode is added to the eps table check whether there is an
|
|
-- entry in the reservations table with the same id. If there is, delete
|
|
-- it. Log the deletion in the log table.
|
|
--
|
|
DROP TRIGGER IF EXISTS check_reservations;
|
|
DELIMITER $$
|
|
CREATE TRIGGER check_reservations BEFORE INSERT ON eps
|
|
FOR EACH ROW
|
|
BEGIN
|
|
IF EXISTS(SELECT id FROM reservations WHERE id = NEW.id) THEN
|
|
DELETE FROM reservations WHERE id = NEW.id;
|
|
INSERT INTO log (message) VALUES(concat('DELETE FROM reservations WHERE id = ',NEW.id));
|
|
END IF;
|
|
END;
|
|
$$
|
|
DELIMITER ;
|
|
|
|
/*
|
|
vim: syntax=sql ai tw=75:
|
|
*/
|