Mi chiedo se è possibile eseguire più istruzioni DDL all'interno di una transazione. Sono particolarmente interessato a SQL Server, anche se potrebbero essere interessanti anche le risposte con altri database (Oracle, PostgreSQL).È possibile eseguire più istruzioni DDL all'interno di una transazione (all'interno di SQL Server)?
Ho fatto alcuni "CREATE TABLE" e "CREATE VIEW" per la tabella creata all'interno di una transazione e sembrano esserci alcune incongruenze e mi chiedo se i DDL non dovrebbero essere fatti all'interno della transazione. ..
Probabilmente potrei spostare il DDL fuori dalla transazione ma Mi piacerebbe avere qualche riferimento per questo. Quello che ho trovato fino a questo punto:
- MSDN pagina Isolation Levels in the Database Engine dice chiaramente che ci sono restrizioni su cosa operazioni DDL possono essere eseguite in una transazione esplicita è in esecuzione con isolamento dello snapshot - ma io non sto usando l'isolamento dello snapshot e questo dovrebbe risultare come un errore.
- Questo potrebbe essere interpretato in modo che le operazioni DDL possano essere eseguite in una transazione esplicita con diversi livelli di isolamento?
- Oracle® Database Gateway for SQL Server User's Guide#DDL Statements afferma che una sola istruzione DDL può essere eseguito in una determinata operazione - è questo vale anche per SQL Server utilizzato dritto?
Per Oracle:
- Entro discussione SO Unit testing DDL statements that need to be in a transaction si dice che Oracle fa implicita impegnarsi per un'istruzione DDL? (anche se non ci sono riferimenti)
Se è importante, lo faccio con Java tramite il driver JDBC JTDS.
b.r. Touko
Sto utilizzando JDBC Connection # setAutoCommit (false) e le istruzioni DML non vengono eseguite con transazioni implicite. I risultati sembrano più come se la tabella per creare la vista con non sarebbe sempre lì o qualcosa del genere. – Touko
Per EDIT: Potrebbe essere, ma vorrei qualche riferimento alla documentazione di SQL Server o qualcosa se è o non è consentito .. – Touko
Ho usato questo libro, vedi se lo trovi online? Microsoft® SQL Server® 2008 Fondamenti T-SQL Stampa ISBN-10: 0-7356-2601-4 Stampa ISBN-13: 978-0-7356-2601-0 – Stuart