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

Er det muligt at overføre de NYE og de GAMLE tabeller fra en trigger til en procedure i MySQL?

Du kan udtrykkeligt videregive hvert felt:

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

Eller hvis logChanges skal være tilstrækkelig generisk til at den kan håndtere sådanne opkald fra forskellige tabeller, kan man sammenkæde feltværdierne i en enkelt streng ved hjælp af en passende afgrænser (f.eks. enhedsadskiller ):

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

Eller hvis datatyper skal bevares, kan man indsætte posterne i en midlertidig, hvorfra logChanges læser.



  1. Ukendt kolonne under brug af alias mysql

  2. Hurtigste måde at finde forældede funktioner, der stadig bruges i en SQL Server-instans (T-SQL-eksempel)

  3. ORA-00911:ugyldigt tegn

  4. Oracle Konverter TIMESTAMP med Timezone til DATE