Ist es möglich, mehrere DDL-Anweisungen innerhalb einer Transaktion (innerhalb von SQL Server) auszuführen?

Ich frage mich, ob es möglich ist, mehrere DDL-Anweisungen in einer Transaktion auszuführen. Ich interessiere mich besonders für SQL Server, auch wenn Antworten mit anderen Datenbanken (Oracle, zumindest PostgreSQL) ebenfalls interessant sein könnten.

Ich habe einige "CREATE TABLE" und "CREATE VIEW" für die erstellte Tabelle in einer Transaktion ausgeführt, und es scheint einige Inkonsistenzen zu geben, und ich frage mich, ob die DDLs nicht in der Transaktion ausgeführt werden sollten ...

Wahrscheinlich könnte ich die DDL außerhalb der Transaktion verschieben, aber ich hätte gerne eine Referenz dafür. Was ich bisher gefunden habe:

MSDN-SeiteIsolationsstufen im Datenbankmodul sagt klar dasEs gibt Einschränkungen, welche DDL-Vorgänge in einer expliziten Transaktion ausgeführt werden können, die unter Snapshot-Isolation ausgeführt wird - aber ich verwende keine Snapshot-Isolierung und dies sollte zu einem Fehler führen.Dies könnte so interpretiert werden, dass DDL-Operationen in einer expliziten Transaktion unter verschiedenen Isolationsstufen ausgeführt werden können.Oracle® Database Gateway für SQL Server Benutzerhandbuch # DDL-Anweisungen besagt, dassIn einer Transaktion kann nur eine DDL-Anweisung ausgeführt werden - Gilt das auch für SQL Server gerade?

Für Oracle:

In SO FrageUnit-Testing-DDL-Anweisungen, die in einer Transaktion enthalten sein müssen wird gesagt, dass Oracle ein implizites Commit für eine DDL-Anweisung ausführt? (obwohl keine Referenzen)

Wenn es darauf ankommt, mache ich das mit Java über den JTDS-JDBC-Treiber.

b.r. Touko

Antworten auf die Frage(4)

Ihre Antwort auf die Frage