sql >> Database >  >> RDS >> Mysql

Cross-database trigger in Mysql

Ja, dat kan. Je zou een procedure kunnen maken en deze in je trigger kunnen noemen. Voorbeeld procedure:

DELIMITER //

CREATE PROCEDURE delete(in table VARCHAR(300), in db VARCHAR(300), in id INT)
BEGIN

set @query0 = CONCAT('DELETE FROM ', new_db, '.', tabela, ' WHERE id=',id);

PREPARE select_query0 FROM @query0;
EXECUTE select_query0;
DEALLOCATE PREPARE select_query0;

END; //

DELIMITER ;

En dan om de trigger te maken:

CREATE TRIGGER del_trigger BEFORE DELETE ON table
  FOR EACH ROW BEGIN
    CALL delete(db, table, OLD.id); 
  END;


  1. waarom bevindt de mysqld zich op 4 plaatsen in het Linux-systeem?

  2. hoe voer ik de rowName uit op basis van een koppelingstabel?

  3. Hoe stel je Incemental in op true voor meerdere tabellen met dezelfde eigenaar met DBMS_STATS.set_table_prefs?

  4. Hoe voeg ik een automatisch oplopende primaire sleutel toe aan een bestaande tabel in PostgreSQL?