Kas saame kasutada tehingut salvestatud protseduuris?
Kas saame kasutada tehingut salvestatud protseduuris?

Video: Kas saame kasutada tehingut salvestatud protseduuris?

Video: Kas saame kasutada tehingut salvestatud protseduuris?
Video: Riigikogu 06.06.2023 2024, Mai
Anonim

Kui meie käivitamisel on rohkem kui üks SQL-lause salvestatud protseduur ja meie soovite tagasi võtta mis tahes SQL-lause tehtud muudatused juhuks, kui mõne SQL-lause tõttu ilmnes tõrge, saame kasutada tehingut salvestatud protseduuris.

Kas salvestatud protseduurid käitatakse tehingus?

Pesastatud salvestatud protseduurid on hukati aastal tehing äärepoolseimate kontekstis salvestatud protseduur . See on vaikeseade. Pakub ülalkirjeldatud vaikekäitumist. See tähendab, et kõik SQL-laused a salvestatud protseduuri käivitamine singlina tehing blokk.

Lisaks ülaltoodule, kas me saame protseduuris kasutada sidumist? Üldiselt, protseduurid ei peaks pühenduma . Kui sa pühenduma hoiustatava sees menetlust , piirate selle korduvkasutatavust, kuna helistaja, kes soovib, muudab menetlust teeb, et olla osa suuremast tehingust, ei saa lihtsalt helistada menetlust otse.

Kas me saame sellega seoses kasutada tehingut SQL-funktsioonis?

1 vastus. Sellepärast tehingud jaoks on ebavajalikud sql -server funktsioonid . Siiski, teie saab muuta tehing näiteks isolatsioonitase kasutada NOLOCKi vihje, et jõuda "loe kohustuseta" tehing isolatsioonitaseme ja lugeda sidumata andmeid teistelt tehingud.

Kas me saame SQL-is kasutada pesastatud tehinguid, kui jah, siis kuidas?

SQL Server tegelikult ei toeta pesastatud tehingud . On ainult üks tehing korraga. See tehing on põhi pesastatud tehing loendur, @@TRANCOUNT. Iga järjestikune algab tehing juurdekasvuga a loendur ükshaaval, iga toime tehing vähendab seda ühe võrra.

Soovitan: