Használhatjuk a tranzakciót tárolt eljárásban?
Használhatjuk a tranzakciót tárolt eljárásban?

Videó: Használhatjuk a tranzakciót tárolt eljárásban?

Videó: Használhatjuk a tranzakciót tárolt eljárásban?
Videó: Data Analyst: Advanced DAX for POWER BI | Full Course for Beginners | DAX Engines DAX Functions 2024, Április
Anonim

Ha mi egynél több SQL utasítás van végrehajtva a tárolt eljárás és mi vissza akarja vonni az SQL utasítások bármelyike által végrehajtott változtatásokat, ha az egyik SQL utasítás miatt hiba történt, tárolt eljárásban használhatjuk a tranzakciót.

Csak így: futnak a tárolt eljárások egy tranzakcióban?

Beágyazott tárolt eljárások vannak végrehajtott ban,-ben tranzakció a legkülső kontextusában tárolt eljárás . Ez az alapértelmezett beállítás. A fent leírt alapértelmezett viselkedést biztosítja. Vagyis az összes SQL utasítás a tárolt eljárás végrehajtása szingliként tranzakció Blokk.

A fentieken kívül használhatjuk a commit-ot az eljárásban? Általánosságban, eljárások nem kellene elkövetni . Ha te elkövetni egy tárolt belsejében eljárást , korlátozza annak újrafelhasználhatóságát, mert a hívó, aki azt akarja, megváltoztatja a eljárást teszi, hogy egy nagyobb tranzakció része legyen, egyszerűen nem hívhatja meg a eljárást közvetlenül.

Ezzel kapcsolatban használhatjuk a tranzakciót az SQL függvényben?

1 Válasz. Ezért tranzakciók számára szükségtelenek sql -szerver funkciókat . Ön azonban tud változás tranzakció izolációs szint, például használat NOLOCK tipp, hogy elérje az „el nem kötelezett olvasást” tranzakció izolációs szint, és olvassa el a nem véglegesített adatokat mástól tranzakciók.

Használhatunk beágyazott tranzakciókat az SQL-ben, ha igen, akkor hogyan?

SQL A szerver nem igazán támogatja beágyazott tranzakciók . Csak egy van tranzakció egy időben. Ezt tranzakció van egy alapja beágyazott tranzakció számláló, @@TRANCOUNT. Minden egymást követő kezdődik tranzakció lépésekben az számláló egyesével, minden commit tranzakció eggyel csökkenti.

Ajánlott: