É possível executar várias instruções DDL dentro de uma transação (dentro do SQL Server)?

Eu estou querendo saber se é possível executar várias instruções DDL dentro de uma transação. Estou especialmente interessado no SQL Server, embora as respostas com outros bancos de dados (Oracle, pelo menos, PostgreSQL) também possam ser interessantes.

Eu tenho feito alguns "CREATE TABLE" e "CREATE VIEW" para a tabela criada dentro de uma transação e parece haver algumas inconsistências e eu estou querendo saber se os DDLs não devem ser feitos dentro da transação ...

Eu provavelmente poderia mover a DDL para fora da transação, mas gostaria de obter alguma referência para isso. O que eu encontrei até agora:

Página do MSDNNíveis de isolamento no mecanismo de banco de dados diz claramente quehá restrições sobre quais operações DDL podem ser executadas em uma transação explícita em execução no isolamento de instantâneo - mas eu não estou usando isolamento de instantâneo e isso deve resultar como um erro.Isso poderia ser interpretado para que as operações de DDL possam ser executadas em uma transação explícita sob diferentes níveis de isolamento?Guia do Usuário do Oracle® Database Gateway para SQL Server # DDL Statements afirma queapenas uma instrução DDL pode ser executada em uma determinada transação - isso é válido também para o SQL Server usado diretamente?

Para Oracle:

Dentro SO questãoTestes de unidade de instruções DDL que precisam estar em uma transação Diz-se que a Oracle implícita comprometer por uma instrução DDL? (mesmo sem referências)

Se for importante, estou fazendo isso com Java através do driver JDBC JDBC.

b.r. Touko

questionAnswers(4)

yourAnswerToTheQuestion