Czy jest możliwe uruchomienie wielu instrukcji DDL wewnątrz transakcji (w SQL Server)?

Zastanawiam się, czy możliwe jest uruchomienie wielu instrukcji DDL wewnątrz transakcji. Jestem szczególnie zainteresowany SQL Server, chociaż odpowiedzi z innymi bazami danych (przynajmniej Oracle, PostgreSQL) mogą być również interesujące.

Robiłem "CREATE TABLE" i "CREATE VIEW" dla utworzonej tabeli wewnątrz transakcji i wydaje się, że istnieją pewne niespójności i zastanawiam się, czy DDL nie powinny być wykonywane wewnątrz transakcji ...

Prawdopodobnie mógłbym przenieść DDL poza transakcję, ale chciałbym uzyskać do tego trochę informacji. Co znalazłem tak daleko:

Strona MSDNPoziomy izolacji w aparacie bazy danych mówi wyraźnie, żeistnieją ograniczenia dotyczące tego, jakie operacje DDL mogą być wykonywane w jawnej transakcji działającej pod izolacją migawki - ale nie używam izolacji migawek i powinno to skutkować błędem.Można to zinterpretować tak, aby operacje DDL mogły być wykonywane w jawnej transakcji na różnych poziomach izolacji?Oracle® Database Gateway dla SQL Server Podręcznik użytkownika # DDL Statements stwierdza, żetylko jedna instrukcja DDL może zostać wykonana w danej transakcji - czy jest to poprawne także w przypadku prostego użycia SQL Server?

Dla Oracle:

W pytaniu SOJednostka testująca instrukcje DDL, które muszą znajdować się w transakcji mówi się, że Oracle wykonuje niejawne zatwierdzenie dla instrukcji DDL? (chociaż nie ma żadnych referencji)

Jeśli coś ma znaczenie, robię to z Java za pomocą sterownika JDBC JTDS.

b.r. Touko

questionAnswers(4)

yourAnswerToTheQuestion