sql >> Databasteknik >  >> RDS >> PostgreSQL

postgres funktioner och transaktioner med BEGIN

Svar efter nummer:

  1. Nej; om S2 misslyckas, avbryts hela transaktionen och kan bara återställas.

  2. Det finns förmodligen ett missförstånd. SQL-satsen BEGIN som startar en transaktion är något helt annat än BEGIN som startar ett PL/pgSQL-block. Det senare inte starta en transaktion.

    Om det inte fanns något explicit SQL-kommando BEGIN , varje uttalande körs i sin egen transaktion ("autocommit").

    Alla satser i en funktion exekveras i en enda transaktion.

  3. Du kan inte ha COMMIT (eller ROLLBACK ) i en funktion.

  4. Ja. Detta är samma fråga som 1., bara negativt.




  1. AttributeError:'tuple'-objektet har inget attribut 'encode' - MySQLdb Python

  2. psql returkod om noll rader hittas

  3. ALTER &DROP Table DDL med Execute Immediate i Oracle Database

  4. Ansluten fråga saknade poster