delimiter $$
CREATE TRIGGER REDUCE_NOTE_COUNT
AFTER DELETE ON iv_notes
FOR EACH ROW BEGIN
DECLARE supplierid int(11);
DECLARE customerid int(11);
SELECT supplierid ,customerid FROM iv_documents WHERE id=OLD.note_documentid;
SET supplierid=supplierid;
SET customerid=customerid;
IF supplierid=OLD.note_companyid THEN
update iv_documents
set supplier_notes=supplier_notes-1
where id=OLD.note_documentid and supplier_notes>0;
END IF;
IF customerid=OLD.note_companyid THEN
update iv_documents set customer_notes=customer_notes-1
where id=OLD.note_documentid
and customer_notes>0 ;
END IF;
END$$
delimiter ;
not allowed to return a resultset from a trigger mysql
32.9k Views Asked by Tarika At
2
There are 2 best solutions below
0

In a trigger and function, SELECT INTO is allowed to use but SELECT
without INTO
is not allowed to use because there are the errors below. *In a procedure and event, SELECT
without INTO
is allowed to use:
ERROR 1415 (0A000): Not allowed to return a result set from a trigger
ERROR 1415 (0A000): Not allowed to return a result set from a function
You cannot execute SELECT statements from trigger. If you want to set variables, then use SELECT INTO statement, e.g. -
Also, rename variables, they have to differ from from field names.