Ik weet dat de meeste databases beperkingen hebben, maar Postgres niet. U kunt in een transactie alle nummertabelcreaties, kolomwijzigingen en indexwijzigingen uitvoeren, en de wijzigingen zijn niet zichtbaar voor andere gebruikers. COMMIT slaagt. Zo zouden databases moeten zijn! :-)
Wat SQL Server betreft, u kunt DDL binnen een transactie uitvoeren, maar SQL Server voert geen versiemetagegevens uit, en dus zouden wijzigingen zichtbaar zijn voor anderen voordat de transactie wordt vastgelegd. Maar sommige DDL-instructies kunnen worden teruggedraaid als u in een transactie zit, maar voor welke werken en welke niet, moet u enkele tests uitvoeren.