Mysql
 sql >> база данни >  >> RDS >> Mysql

Възможно ли е да се предадат новите и СТАРИТЕ таблици от тригер в процедура в MySQL?

Можете изрично да предадете всяко поле:

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

Или ако logChanges трябва да бъде достатъчно общ, за да може да обработва такива извиквания от различни таблици, може да се обединят стойностите на полето в един низ, като се използва подходящ разделител (напр. разделител на единици ):

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

Или ако типовете данни трябва да бъдат запазени, може да се вмъкнат записите във временен, от който logChanges чете.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 начина за конвертиране на число в осмично в MySQL

  2. ГРЕШКА В MySQL 1046 (3D000):Няма избрана база данни при заявка за актуализиране

  3. MySQLi - деклариране на променлива след bind_param?

  4. Изучаване на изходния код на MySQL, SQLite, за да научите за внедряването на RDBMS

  5. Google App Script JDBC/MySql:не сте собственик на грешка в нишката