W mariadb transakcje nie są rollbackowane na pierwszym błędzie, a chciałbym uzyskać taki efekt.

Obecnie wysyłam query w postaci

START TRANSACTION;
INSERT .. 
UPDATE ..
COMMIT;

Znalazłem w internecie przykłady z wykorzystaniem procedur składowanych, jednak chciałbym się bez nich obejść.

Przykład procedury:

DELIMITER //
BEGIN
  DECLARE `fail` bool default 0;
  DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET `fail` = 1;
  START TRANSACTION;
  INSERT .. 
  UPDATE ..
  W/E...
  IF `fail` THEN
    ROLLBACK;
  ELSE
    COMMIT;
  END IF;
END//
DELIMITER;

Z tego co próbowałem te operacje nie są dostępne poza procedurami.
Czy jest to możliwe?

mariadb: 10.1.28
innodb: 5.6.36-82.2