source

하나의 SQL 트리거에서 여러 이벤트를 사용하는 방법

gigabyte 2022. 10. 1. 21:25
반응형

하나의 SQL 트리거에서 여러 이벤트를 사용하는 방법

현재 코드는 다음과 같습니다.

DROP TRIGGER `backup`;

DELIMITER $$
CREATE TRIGGER `backup` AFTER INSERT UPDATE DELETE
    ON `warehouse`
    FOR EACH ROW 
        BEGIN

        END$$
DELIMITER ;

다음 오류가 계속 발생합니다.

여기에 이미지 설명 입력

MariaDB 버전을 확인했습니다.10.1.21입니다

1개의 이벤트만 사용하면 동작하지만, 2개 또는 3개의 이벤트에서는 이 에러가 발생합니다.

Insert Update 트리거 삽입 또는 업데이트 여부를 확인하는 방법

MySQL 또는 MariaDB에서는 각 트리거를 정확히 하나의 이벤트에 대해 정의해야 합니다.여러 이벤트에 대해 작동하는 트리거는 정의할 수 없습니다.

https://dev.mysql.com/doc/refman/5.7/en/create-trigger.html 의 구문은 다음과 같습니다.

trigger_event: { INSERT | UPDATE | DELETE }

이 구문 표기법은 이벤트가 INSERT, UPDATE 또는 DELETE의 3가지 값 중 하나여야 함을 의미합니다.

다른 단서가 발견되면DESCRIBE INFORMATION_SCHEMA.TRIGGERS:

EVENT_MANIPULATION enum('INSERT','UPDATE','DELETE')

이벤트 유형은enum즉, 하나의 값만 가질 수 있고, 배수는 가질 수 없습니다.

링크된 예는 MySQL 또는 MariaDB가 아닌 Microsoft SQL Server용입니다.

"Microsoft"와 "MySQL"은 모두 비슷한 음절로 시작하지만, 두 제품은 서로 다른 특징을 가지고 있습니다.

언급URL : https://stackoverflow.com/questions/46017640/how-to-use-multiple-events-in-one-sql-trigger

반응형