sql >> Database >  >> RDS >> Sqlserver

Is het mogelijk om meerdere DDL-instructies binnen een transactie uit te voeren (binnen SQL Server)?

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.



  1. Hoe SQLite Char() werkt

  2. Gegevens selecteren in een Postgres-array

  3. Hoe krijg ik alleen cijfers van String in mysql?

  4. Breid EM Grid Control uit naar nieuwe nodes