Написание триггера - MySQL
Формулировка задачи:
Ребята, создал БД - Автосервис. Сделаю скриншоты своих таблиц. На основе них, посмотрите пожалуйста на создание триггера, а то он у меня не выполняется. Не вижу, в чём может быть ошибка. Суть триггера: Сделать ограничение, чтобы мастер в автосервисе в день не мог принимать более 5 клиентов".
CREATE TRIGGER max_clients_count
ON `avtobase`.`clients` AFTER INSERT
AS BEGIN
DECLARE @FIO varchar (50)
DECLARE @date1 date
DECLARE @master_id int
SET @FIO = (SELECT FIO FROM inserted)
SET @date1 = (SELECT Dates_clients FROM inserted)
SET @master_id = (SELECT ID_mastera FROM inserted)
IF (SELECT count(ID) FROM avtobase.clients WHERE FIO = @FIO AND Dates_clients = @date1 AND ID_mastera = @master_id) > 5
BEGIN
ROLLBACK TRAN
PRINT 'NO!'
END
ENDРешение задачи: «Написание триггера»
textual
Листинг программы
CREATE TRIGGER max_clients_count BEFORE INSERT ON `avtobase`.`clients` BEGIN DECLARE @FIO varchar (50) DECLARE @date1 date DECLARE @master_id int SET @FIO = (SELECT FIO FROM inserted) SET @date1 = (SELECT Dates_clients FROM inserted) SET @master_id = (SELECT ID_mastera FROM inserted) IF (SELECT count(ID) FROM avtobase.clients WHERE FIO = @FIO AND Dates_clients = @date1 AND ID_mastera = @master_id) > 5 BEGIN ROLLBACK TRAN PRINT 'NO!' END END