Peut-on utiliser la transaction en procédure stockée ?
Peut-on utiliser la transaction en procédure stockée ?

Vidéo: Peut-on utiliser la transaction en procédure stockée ?

Vidéo: Peut-on utiliser la transaction en procédure stockée ?
Vidéo: Découverte de MySQL : Procédures stockées 2024, Peut
Anonim

Si nous avoir plus d'une instruction SQL en exécution dans le procédure stockée et nous souhaitez annuler toutes les modifications apportées par l'une des instructions SQL au cas où une erreur se produirait à cause de l'une des instructions SQL, nous pouvons utiliser la transaction dans la procédure stockée.

Justement, les procédures stockées s'exécutent-elles dans une transaction ?

Imbriqué procédures stockées sommes réalisé dans le transaction contexte de l'extrême procédure stockée . Ce sont les paramètres par défauts. Fournit le comportement par défaut décrit ci-dessus. C'est-à-dire que toutes les instructions SQL dans un procédure stockée exécuter en tant que célibataire transaction bloquer.

A côté de ci-dessus, pouvons-nous utiliser commit dans la procédure? En général, procédures ne devrait pas s'engager . Si tu s'engager à l'intérieur d'un entreposé procédure , vous limitez sa réutilisation car un appelant qui souhaite que les modifications procédure fait pour faire partie d'une transaction plus importante ne peut pas simplement appeler le procédure directement.

À ce sujet, pouvons-nous utiliser la fonction transaction dans SQL ?

1 réponse. C'est pourquoi transactions sont inutiles pour sql -serveur les fonctions . Cependant, vous pouvez monnaie transaction niveau d'isolement, par exemple, vous pouvez utilisation Indice NOLOCK pour atteindre "read uncommitted" transaction niveau d'isolement et lire les données non validées d'autres transactions.

Peut-on utiliser des transactions imbriquées en SQL si oui comment ?

SQL Le serveur ne prend pas vraiment en charge transactions imbriquées . Il n'y a qu'un seul transaction à la fois. Celui-ci transaction a une base transaction imbriquée compteur, @@TRANCOUNT. Chaque début consécutif transaction incréments les compteur par un, chaque commit transaction le réduit de un.

Conseillé: