сделать триггер вернуть сообщение mysql - PullRequest
0 голосов
/ 04 июня 2018

Хотелось бы узнать, есть ли способ выбросить сообщение из триггера, не прерывая его?

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

DELIMITER &&
DROP TRIGGER IF EXISTS ControlPedidoCliente&&
CREATE TRIGGER ControlPedidoCliente BEFORE INSERT ON LineasPedidosCliente FOR EACH ROW
BEGIN
DECLARE existencias INT;
DECLARE cantidad INT;
DECLARE diferencia INT;
DECLARE total INT;
DECLARE stockMinimo INT;
SELECT (StockMaximo-PendServir) FROM Productos WHERE IdProducto = NEW.IdProducto INTO existencias;
SELECT (PendRecibir-PendServir) FROM Productos WHERE IdProducto = NEW.IdProducto INTO diferencia;
SELECT StockMinimo FROM Productos WHERE IdProducto = NEW.IdProducto INTO stockMinimo;
SET cantidad = NEW.Cantidad;
SET total = (existencias + diferencia) - cantidad;
IF total < 0 THEN
    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'No hay suficientes existencias, se debe pedir';
END IF;
IF total < stockMinimo THEN
    /*THE MESSAGE SHOULD BE HERE*/
END IF;
END&&
DELIMITER ;

Я пытался вызвать хранимую процедуру, но я все еще получаю "Не разрешается возвращать набор результатов из триггера "

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...