Помощь по удалению псевдонимов из триггера MySQL - PullRequest
0 голосов
/ 24 июня 2011

мой вопрос слишком прост (я думаю), ниже приведен пример триггера, который я пытаюсь удалить псевдонимы. Я не знаю, что я делаю неправильно, я просто не могу понять это правильно.

DELIMITER @
CREATE TRIGGER StartOfShift BEFORE INSERT ON shift
FOR EACH ROW
BEGIN
IF(NEW.CashierCode NOT IN ( SELECT w.EmployeeID FROM WorksOn as w
JOIN shop AS s ON w.ShopID = s.ShopID
JOIN CashMachineCode AS c ON s.ShopID = c.ShopID
WHERE c.CashMachineCode = NEW.CashMachineCode ))
THEN SET NEW.CashierCode = NULL;
END IF;
END;

1 Ответ

1 голос
/ 24 июня 2011

Следующее должно быть то, что вы ищете:

DELIMITER @
CREATE TRIGGER StartOfShift BEFORE INSERT ON shift
FOR EACH ROW
BEGIN
    IF(NEW.CashierCode NOT IN ( 
        SELECT WorksOn.EmployeeID FROM WorksOn
            JOIN shop ON WorksOn.ShopID = shop.ShopID
            JOIN CashMachineCode ON shop.ShopID = CashMachineCode.ShopID
            WHERE CashMachineCode.CashMachineCode = NEW.CashMachineCode )
    ) THEN 
        SET NEW.CashierCode = NULL;
    END IF;
END@
DELIMITER ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...