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

Cross database trigger i Mysql

Ja du kan. Du kan lave en procedure og kalde den i din trigger. Eksempel på 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 ;

Og så for at oprette triggeren:

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


  1. Den parametriserede forespørgsel ..... forventer parameteren '@units', som ikke blev leveret

  2. enkelt forespørgsel for at udskrive alle rækker, hvis antal er større end 10

  3. Er cirkulære referencer acceptable i databasen?

  4. Forbindelsen kan ikke castes til oracle.jdbc.OracleConnection