sql >> Databasteknik >  >> RDS >> Mysql

Är det möjligt att överföra de NYA och de GAMLA tabellerna från en trigger till en procedur i MySQL?

Du kan uttryckligen skicka varje fält:

CALL logChanges(OLD.colA, OLD.colB, NEW.colA, NEW.colB);

Eller om logChanges måste vara tillräckligt generisk för att den kan hantera sådana anrop från olika tabeller, kan man sammanfoga fältvärdena till en enda sträng med hjälp av en lämplig avgränsare (t.ex. enhetsseparator ):

CALL logChanges(CONCAT_WS(CHAR(31), OLD.colA, old.colB),
                CONCAT_WS(CHAR(31), NEW.colA, NEW.colB));

Eller om datatyper måste bevaras kan man infoga posterna i en temporär från vilken logChanges läser.



  1. Kopiera data från en tabell till en annan tabell. Databaser är olika och tabellstrukturen är annorlunda

  2. Hjälp med SQL-fråga för att hitta nästa tillgängliga datum för ett bokningssystem

  3. En guide till MySQL-index

  4. Hur kan jag få mySql kolumn Längd/värden