CREATE TRIGGER warehouse_out_trigger
BEFORE INSERT ON warehouse_out
FOR EACH ROW
BEGIN
DECLARE var_inventory INT;
DECLARE msg VARCHAR(50) DEFAULT('!');
DECLARE sku_name VARCHAR(50) DEFAULT(new.wh_out_id);
SELECT wi.inventory INTO var_inventory
FROM warehouse_in wi
WHERE wi.wh_in_id = new.wh_out_id;
IF var_inventory >= new.stock_out THEN
UPDATE warehouse_in SET inventory = inventory - new.stock_out
WHERE warehouse_in.wh_in_id = new.wh_out_id;
ELSE
SET msg = CONCAT(sku_name,':','!库存不足!',' 出库: ', new.stock_out, ' 库存:', var_inventory);
SIGNAL SQLSTATE 'HY000' set message_text = msg;
END IF;
END
1231 - Variable 'MESSAGE_TEXT' can't be set to the value of 'NULL'
message_text字段不能为空。