programing

업데이트 쿼리의 SQL 트리거에 오류가 있습니다.

javamemo 2023. 7. 24. 22:10
반응형

업데이트 쿼리의 SQL 트리거에 오류가 있습니다.

다음 SQL 트리거가 작동하지 않습니다.오류가 발생했습니다.

SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 해당하는 설명서에서 "7행" 근처에서 사용할 올바른 구문을 확인하십시오.

CREATE TRIGGER m_check BEFORE UPDATE ON deposition
FOR EACH ROW
BEGIN
    IF((new.balance-old.balance)<0 AND(new.balance-old.balance)>=-2000) THEN    
        SIGNAL SQLSTATE "40000"     
        SET MESSAGE_TEXT='Not okay';    
    ELSE    
        UPDATE deposition SET balance=new.balance WHERE acc_no = new.acc_no;    
    END IF;
END

어디에 문제가 있는지 이해할 수 없습니다.이 오류를 해결하는 데 도움

7호선이 뭔지 잘 모르겠어요.하지만, 그update적합하지 않습니다.대신:

DELIMITER $$
CREATE TRIGGER m_check BEFORE UPDATE ON deposition
FOR EACH ROW
BEGIN
    IF((new.balance - old.balance) < 0 AND (new.balance-old.balance) >= -2000) THEN    
        SIGNAL SQLSTATE "40000" SET MESSAGE_TEXT = 'Not okay';    
    END IF;
END$$
DELIMITER ;

업데이트 전 트리거입니다.신호가 발생하지 않고 오류가 발생하지 않으면 업데이트가 수행됩니다.명시적으로 할 필요가 없습니다.update.

언급URL : https://stackoverflow.com/questions/57949420/i-have-an-error-in-sql-trigger-on-update-query

반응형