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

Skal jeg bruge SQL-transaktioner, mens jeg læser poster?

Hvis du forespørger på alle posterne i en enkelt forespørgsel og trækker dem tilbage på én gang, er det ikke nødvendigt. Alt er pakket ind i en implicit transaktion. Det vil sige, at selvom du får en million poster tilbage, og selvom andre processer ændrer posterne, vil du se, hvordan alle en million poster så ud på samme tidspunkt.

De eneste gange, du virkelig har brug for en transaktion (og ofte et specifikt låsetip) i en skrivebeskyttet proces er:
- Du læser posterne "stykvis" og behøver intet andet for at ændre værdierne, mens du taler dog. [Såsom et tilsluttet recordset i ADO, som du så markører gennem.]
- Du læser nogle data, laver nogle beregninger og læser derefter nogle relaterede data, men ud fra den antagelse, at intet ændrede sig i mellemtiden.


Kort sagt, du har brug for transaktioner, når du ønsker, at andre processer skal forhindres i at forstyrre dine data mellem SQL-sætninger.



  1. Codeigniter tillader mig ikke at opdatere indtastningen, fordi nogle felter skal være unikke

  2. ODBC-opkald mislykkedes med lagret procedure - Send forespørgsel igennem

  3. SQL SELECT-syntaks – Listet efter DBMS

  4. Fjern citater og kommaer fra en streng i MySQL