반응형
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$$
구분자;
해결 방법
DECLARE supplierid_ INT(11);
DECLARE customerid_ INT(11);
SELECT
supplierid, customerid
INTO
supplierid_, customerid_
FROM
iv_documents
WHERE
id = OLD.note_documentid;
IF supplierid_ = OLD.note_companyid THEN
...
또한 변수의 이름을 바꾸려면 필드 이름과 달라야합니다.
참조 페이지 https://stackoverflow.com/questions/12474489
반응형
'MySql' 카테고리의 다른 글
MySQL SQL Order By list of strings? (0) | 2021.01.28 |
---|---|
MySQL OUTER JOIN 구문 오류 (0) | 2021.01.28 |
MySQL SSH 터널 : 로컬 => 게이트웨이 => MySQL 서버 (0) | 2021.01.28 |
MySQL MongoDB / PHP .. 선택 쿼리를 작성하는 방법? (0) | 2021.01.27 |
MySQL 쿼리를 CSV로 변환하는 PHP 코드 (0) | 2021.01.27 |
댓글