sql >> Databáze >  >> RDS >> Oracle

Je COMMIT vyžadováno po každém EXECUTE IMMEDIATE?

Jediné případy, kdy jste skutečně nuceni se zavázat, kromě konce obchodní transakce, jsou:

  1. Při provádění DDL:provádění DDL je zabaleno do dvojice implicitních potvrzení.
  2. Po přímém vložení cesty:tabulku nelze číst, dokud není vložení potvrzeno.

Jak komentuje, správný bod k potvrzení je, když je obchodní transakce dokončena. V opačném případě si musíte napsat nějaký kód pro detekci a opravu částečně dokončených a potvrzených transakcí, které opustily databázi, je logicky nekonzistentní stav (např. záznam INVOICE existuje bez jakýchkoli záznamů INVOICE_DETAIL).



  1. SQL Server Profiler - Jak filtrovat trasování tak, aby zobrazovalo pouze události z jedné databáze?

  2. Postgres vloží hodnotu z vložení do jiné tabulky

  3. Najděte závislé objekty pro tabulku nebo pohled

  4. Termín syntaxe SQL pro 'WHERE (sloupec1, sloupec2) <(hodnota1, hodnota2)'