sql >> Database teknologi >  >> RDS >> PostgreSQL

postgres funktioner og transaktioner med BEGIN

Svar efter nummer:

  1. Ingen; hvis S2 mislykkes, bliver hele transaktionen afbrudt og kan kun rulles tilbage.

  2. Der er formentlig en misforståelse. SQL-sætningen BEGIN der starter en transaktion er noget helt andet end BEGIN der starter en PL/pgSQL-blok. Sidstnævnte gør ikke starte en transaktion.

    Hvis der ikke var nogen eksplicit SQL-kommando BEGIN , hver erklæring kører i sin egen transaktion ("autocommit").

    Alle udsagn i en funktion udføres i en enkelt transaktion.

  3. Du kan ikke have COMMIT (eller ROLLBACK ) i en funktion.

  4. Ja. Dette er det samme spørgsmål som 1., kun negativt.




  1. MySQL tilføjer en IKKE NULL kolonne

  2. Opfølgning Q:Sammenlign rækker i Oracle Table og opdater matchende rækker

  3. Hent store clob-data ved hjælp af sqlplus

  4. Genopbygning af en MySQL 8.0-replikeringsslave ved hjælp af et klonplugin