sql >> Database teknologi >  >> RDS >> Mysql

Hvordan laver man trigger, der implementerer denne betingelse?

Her er en trigger til det formål:

DELIMITER $$
CREATE trigger update_money_after_paym
AFTER INSERT ON paym
FOR EACH ROW
BEGIN
    IF (NEW.table1 IS NOT NULL AND NEW.table2 IS NOT NULL) THEN
        UPDATE money SET total_money = total_money + 50 WHERE username = NEW.username;
    END IF;
END;
$$
DELIMITER;

Koden kører efter hver indsættelse i tabellen paym . Hvis den nyligt indsatte post har begge kolonner table1 og table2 indstillet til ikke-NULL værdier, så kører triggeren en UPDATE forespørgsel, der tilføjer 50 til kolonnen total_money i tabellen money for posten, der har det samme username som den nyligt indsatte post i paym .




  1. SUBSTRING Kommando i SQL:A Primer

  2. Sådan sammenkædes flere rækker efter rækkefølge i Oracle10g

  3. Kald en lagret procedure med en anden i Oracle

  4. Indsæt flere data til MySQL og opdater, hvis de findes