나는 proyect에 대한 모든 테스트가 '준비'있는지 확인하기 위해, 테이블 proyect에 트리거를 생성해야합니다. 그들 모두 준비가되면, 나는 그 proyect를 검색하고 proyect의 상태를 'ready'로 두어야합니다. 그렇지 않은 경우, 불완전합니다.MySQL의 트리거는
UPDATE에 트리거를 하나 만들고 INSERT에 트리거를 하나 만들어야한다는 것을 알고 있습니다. 나는 이런 식으로 계획을 세웠지 만, 나는 그렇게 할 수 없다.
이 솔루션을 만들었습니다.이 솔루션의 총 테스트 수가 해당 프로잭트의 테스트 준비 수보다 적 으면이 프로잭트가 준비되지 않았습니다. 둘 다 같으면 프로 요새가 준비됩니다.
나는 그것이 작동하지 않는 이유를 알고하지 않습니다 오류
CREATE TRIGGER update-proyect
AFTER INSERT ON tests
FOR EACH ROW
SET @total = select COUNT(*)
from tests
where IdProyect= NEW.IdProyect;
SET @ready = select COUNT(*)
from prueba
from tests
where IdProyect= NEW.IdProyect
AND status = 'ready';
IF (@total == @ready)
UPDATE proyect SET status = 'Ready' WHERE IdProyect = NEW.IdProyect;
ELSE
UPDATE proyect SET status = 'Incomplete' WHERE IdProyect = NEW.IdProyect;
END IF;
통찰력을 얻은 것에 대해 매우 감사드립니다. 정말 도움이 되었어요. 저는 MySQL에 대해 잘 모르고 있었고 PL-SQL을 약간 알고 있습니다. 다시 감사합니다 –