sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag använda transaktioner i min MySQL-lagrade procedur?

Två syntaxfel:

  • Du behöver kommatecken mellan villkoren för din utgångshanterare. Lägg märke till syntaxdokumentationen visar kommatecken.

  • Du måste avsluta END av utgångshanteraren med semikolon. DECLARE satsen själv (inklusive dess BEGIN...END-block) är en sats som alla andra, och måste ha en terminator.

Så du behöver det här:

DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING
BEGIN
    ROLLBACK;
END;


  1. Hur man listar databaser och tabeller i PostgreSQL med psql

  2. PostgreSQL Väljer senaste posten för ett givet ID

  3. Uppdatera fält när inte null

  4. Hur man lägger till NOT NULL-begränsning i MySQL