¿Es posible ejecutar varias declaraciones DDL dentro de una transacción (dentro de SQL Server)?

Me pregunto si es posible ejecutar varias declaraciones DDL dentro de una transacción. Estoy especialmente interesado en SQL Server, aunque las respuestas con otras bases de datos (Oracle, PostgreSQL al menos) también podrían ser interesantes.

He estado haciendo algunas "CREAR TABLA" y "CREAR VISTA" para la tabla creada dentro de una transacción y parece haber algunas inconsistencias y me pregunto si los DDL no deberían hacerse dentro de la transacción ...

Probablemente podría mover el DDL fuera de la transacción, pero me gustaría obtener alguna referencia para esto. Lo que he encontrado hasta aquí:

Página de MSDNNiveles de aislamiento en el motor de base de datos dice claramente quehay restricciones sobre qué operaciones de DDL se pueden realizar en una transacción explícita que se ejecuta bajo aislamiento de instantáneas - pero no estoy usando el aislamiento de instantáneas y esto debería resultar como un error.¿Esto podría interpretarse de modo que las operaciones de DDL puedan realizarse en una transacción explícita en diferentes niveles de aislamiento?Oracle® Database Gateway para SQL Server Guía del usuario # Declaraciones DDL Establece quesolo se puede ejecutar una sentencia DDL en una transacción dada - ¿Esto es válido también para SQL Server utilizado directamente?

Para Oracle:

Dentro de la pregunta SOPruebas unitarias de las declaraciones DDL que deben estar en una transacción ¿Se dice que Oracle hace un compromiso implícito para una declaración DDL? (aunque no haya referencias)

Si importa algo, estoy haciendo esto con Java a través del controlador JTBC de JTDS.

b.r Touko

Respuestas a la pregunta(4)

Su respuesta a la pregunta