Можно ли запустить несколько операторов DDL внутри транзакции (внутри SQL Server)?

Мне интересно, возможно ли выполнить несколько операторов DDL внутри транзакции. Я особенно заинтересован в SQL Server, хотя ответы с другими базами данных (по крайней мере, Oracle, PostgreSQL) также могут быть интересными.

Я делал "CREATE TABLE" и & quot; CREATE VIEW & quot; для созданной таблицы внутри транзакции, и, кажется, существуют некоторые несоответствия, и я задаюсь вопросом, не следует ли делать DDL внутри транзакции ...

Я мог бы переместить DDL за пределы транзакции, но Я хотел бы получить ссылку на это. Что я нашел так далеко:

MSDN page Isolation Levels in the Database Engine tells clearly that there are restrictions on what DDL operations can be performed in an explicit transaction that is running under snapshot isolation - but I'm not using snapshot isolation and this should result as an error. This could be interpreted so that DDL operations can be performend in an explicit transaction under different isolation levels? Oracle® Database Gateway for SQL Server User's Guide#DDL Statements states that only one DDL statement can be executed in a given transaction - is this valid also for SQL Server used straight?

Для Oracle:

Within SO question Unit testing DDL statements that need to be in a transaction it is said that Oracle does implicit commit for a DDL statement? (even though no references)

Если это что-то имеет значение, я делаю это с помощью Java через драйвер JTDS JDBC.

справочное издание Токо

Ответы на вопрос(4)

Ваш ответ на вопрос