sql >> Databáze >  >> RDS >> PostgreSQL

postgres funkce a transakce s BEGIN

Odpovědi podle čísla:

  1. Ne; pokud S2 selže, celá transakce bude přerušena a lze ji pouze vrátit zpět.

  2. Pravděpodobně došlo k nedorozumění. Příkaz SQL BEGIN který zahajuje transakci, je něco zcela jiného než BEGIN který spustí blok PL/pgSQL. Ten druhý ne zahájit transakci.

    Pokud nebyl žádný explicitní příkaz SQL BEGIN , každý příkaz běží ve své vlastní transakci („autocommit“).

    Všechny příkazy ve funkci jsou provedeny v jediné transakci.

  3. Nemůžete mít COMMIT (nebo ROLLBACK ) ve funkci.

  4. Ano. Toto je stejná otázka jako 1., pouze v záporu.




  1. Vstup sloupců v MySQL Workbench je zašedlý

  2. Použití PHPExcel k automatickému vytváření souborů Excel

  3. Proč cast/konvertovat z int vrátí hvězdičku

  4. Rozdělit tabulku po X počtu řádků a přidat text do while smyčky (pomocí TCPDF)