Kunnen we transactie in opgeslagen procedure gebruiken?
Kunnen we transactie in opgeslagen procedure gebruiken?

Video: Kunnen we transactie in opgeslagen procedure gebruiken?

Video: Kunnen we transactie in opgeslagen procedure gebruiken?
Video: Stored Procecure, Transaction processing, Exception handling SQL Server 2024, April
Anonim

Indien wij meer dan één SQL-statement in uitvoering hebben in de opgeslagen procedure en wij alle wijzigingen die door een van de SQL-instructies zijn aangebracht wilt terugdraaien in het geval dat er een fout is opgetreden vanwege een van de SQL-instructies, we kunnen transactie gebruiken in opgeslagen procedure.

Net zo, worden opgeslagen procedures uitgevoerd in een transactie?

genest opgeslagen procedures zijn uitgevoerd in de transactie context van de buitenste opgeslagen procedure . Dit is de standaardinstelling. Biedt het hierboven beschreven standaardgedrag. Dat wil zeggen, alle SQL-instructies in a opgeslagen procedure uitvoeren als single transactie blok.

Kunnen we naast bovenstaande commit in procedure gebruiken? In het algemeen, procedures zou niet verbinden . als jij verbinden binnenkant van een opgeslagen procedure , beperkt u de herbruikbaarheid ervan omdat een beller die de wijzigingen wil, de procedure maakt deel uit van een grotere transactie kan niet zomaar de procedure direct.

Wat dit betreft, kunnen we transactie in de SQL-functie gebruiken?

1 Antwoord. Dat is waarom transacties zijn niet nodig voor sql -server functies . Echter, jij kan verandering transactie isolatieniveau kunt u bijvoorbeeld: gebruik maken van NOLOCK-hint om "lees niet-vastgelegd" te bereiken transactie isolatieniveau en lees niet-vastgelegde gegevens van andere transacties.

Kunnen we geneste transacties in SQL gebruiken, zo ja, hoe dan?

SQL Server ondersteunt niet echt geneste transacties . Er is maar een transactie tegelijk. Deze transactie heeft een basis geneste transactie teller, @@TRANCOUNT. Elke opeenvolgende begin transactie incrementen de teller met één, elke commit transactie vermindert het met één.

Aanbevolen: