sql >> Databáze >  >> RDS >> Sqlserver

Je možné spustit více příkazů DDL v rámci transakce (v rámci SQL Server)?

Vím, že většina databází má omezení, ale Postgres ne. V transakci můžete spustit libovolné vytváření číselných tabulek, změny sloupců a indexů a změny nejsou viditelné pro ostatní uživatele, jednotka COMMIT uspěje. Takové by databáze měly být! :-)

Pokud jde o SQL Server, můžete spustit DDL uvnitř transakce, ale SQL Server neverzuje metadata, takže změny budou viditelné pro ostatní před potvrzením transakce. Ale některé příkazy DDL lze vrátit zpět, pokud jste v transakci, ale pro které fungují a které ne, budete muset provést nějaké testy.



  1. Změňte typ sloupce s čísly z varchar na int

  2. SQLite JSON()

  3. Úvod do synonym v SQL Server

  4. Význam bajtů výpisu (systimestamp) Oracle