Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

È possibile eseguire più istruzioni DDL all'interno di una transazione (all'interno di SQL Server)?

So che la maggior parte dei database ha restrizioni, ma Postgres no. È possibile eseguire qualsiasi creazione di tabelle numeriche, modifiche alle colonne e all'indice in una transazione e le modifiche non sono visibili agli altri utenti. L'unità COMMIT riesce. Ecco come dovrebbero essere i database! :-)

Per quanto riguarda SQL Server, puoi eseguire DDL all'interno di una transazione, ma SQL Server non esegue la versione dei metadati, quindi le modifiche sarebbero visibili agli altri prima che la transazione venga eseguita. Tuttavia, alcune istruzioni DDL possono essere ripristinate se ci si trova in una transazione, ma per quali funzionano e quali no sarà necessario eseguire alcuni test.