Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server esegue il wrapping di Select...Insert Query in una transazione implicita?

Stai confondendo tra transazione e blocco. La transazione riporta i tuoi dati allo stato originale in caso di errori. In caso contrario, sposterà i dati nel nuovo stato. Non avrai mai i tuoi dati in uno stato intermittente quando le operazioni vengono eseguite. D'altra parte, il blocco è quello che consente o impedisce a più utenti di accedere ai dati contemporaneamente. Per rispondere alla tua domanda, seleziona...l'inserimento è atomico e finché non vengono richiesti blocchi granulari, nessun altro utente potrà inserire mentre seleziona..l'inserimento è in corso.