sql >> Database >  >> RDS >> Mysql

Creatieve toepassingen voor de blackhole engine

Heb er een gevonden met een trigger:

Als u een ingewikkelde reeks invoegingen of updates heeft die in een transactie moeten gebeuren, kunt u deze in de applicatiecode doen, of

Je kunt één 'groot' blackhole maken tabel met voldoende rijen om alle waarden te bevatten.

En maak een trigger zoals:

DELIMITER $$

CREATE TRIGGER ai_bh_table_each AFTER INSERT ON bh_table FOR EACH ROW
BEGIN
  DECLARE lastid1 integer;

  INSERT INTO table1 VALUES (null, new.field1, new.field2);
  SELECT LAST_INSERT_ID() INTO lastid1;
  INSERT INTO table2 VALUES (null, new.field3, lastid1);
  ....  
END$$

DELIMITER ;

Als u een foutcontrolecode opneemt, kunt u zelfs transacties simuleren op engines die dit niet ondersteunen, zoals MyISAM.



  1. Volledige MariaDB-codering in rust en tijdens transport voor maximale gegevensbescherming - deel twee

  2. Verkrijg het aantal dagen tussen twee datums in Oracle, inclusief de datums

  3. Een database-e-mailaccount verwijderen uit een profiel (SSMS)

  4. Meerdere zoekopdrachten en resultaten naast elkaar bekijken in SQL Server Management Studio (SSMS) - SQL Server / TSQL-zelfstudie, deel 14