sql >> Database >  >> RDS >> PostgreSQL

postgres-functies en transacties met BEGIN

Antwoorden op nummer:

  1. Nee; als S2 mislukt, wordt de hele transactie afgebroken en kan alleen worden teruggedraaid.

  2. Er is waarschijnlijk een misverstand. De SQL-instructie BEGIN waarmee een transactie wordt gestart, is iets heel anders dan de BEGIN waarmee een PL/pgSQL-blok wordt gestart. De laatste doet niet een transactie starten.

    Als er geen expliciete SQL-opdracht was BEGIN , elk afschrift loopt in zijn eigen transactie (“autocommit”).

    Alle instructies in een functie worden uitgevoerd in een enkele transactie.

  3. U kunt geen COMMIT . hebben (of ROLLBACK ) in een functie.

  4. Ja. Dit is dezelfde vraag als 1., alleen negatief.




  1. Wat is het beste gegevenstype voor telefoonnummer in MySQL en wat moet Java-typetoewijzing daarvoor zijn?

  2. Oracle selecteren voor updategedrag

  3. Gebruik van php-variabelen in MySQL insert statement

  4. Een enkele record selecteren in een linker join