如何在mysql的触发器中使用存储过程中的select查询

时间:2017-03-29 08:56:50

标签: mysql

这是我的触发器

DELIMITER $$
CREATE TRIGGER before_insert BEFORE INSERT ON SampleTable
FOR EACH ROW
BEGIN
IF NEW.flag =0 THEN
SET NEW.media = "../trigger/smile1.png";
ELSEIF NEW.flag = 1 THEN  
SET NEW.media = "../trigger/smile2.png";
ELSEIF NEW.flag = 2 THEN
SET NEW.media = "../trigger/smile3.png";
END IF;
CALL Media (NEW.flag);
END$$
DELIMITER ;

触发器已成功创建。我从触发器调用了存储过程。

程序

DELIMITER $$
CREATE PROCEDURE Media (a INT)
BEGIN
SELECT firstname, lastname, media FROM SampleTable WHERE flag = a;  
END $$   
DELIMITER ; 

当我使用插入查询时,它会显示以下错误。

不允许从触发器返回结果集

我发现选择查询是错误的原因。但我不知道如何解决它。

任何帮助......

0 个答案:

没有答案