Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 7095|Répondre: 0

Transactions et procédures stockées sous-jacentes à la base de données

[Copié le lien]
Publié sur 15/03/2019 22:45:21 | | | |


préface


La dernière fois, j’avais prévu d’organiser tout le contenu de base de SQL, mais j’ai constaté que le temps tournait avant même que je m’en rende compte. Cet article se poursuit ci-dessous.


SMS


D’abord, créons les tables dont nous avons besoin



Exécutons d’abord une instruction SQL


Ce code soustrait le solde de 0001 par 1000 et le solde de 0002 par 1000. Mais nous avons ajouté des contraintes lors de la construction de la table, et le solde doit être supérieur ou égal à 10.

Les résultats sont les suivants :
                  

Donc cette erreur d’exécution de code : «L’instruction UPDATE est en conflit avec la contrainte CHECK « CH_balance ». Le conflit se produit dans la base de données « DemoDb » avec le tableau « dbo. Banque », colonne 'solde'。” 。 Si une instruction est une erreur, alors l’autre a été exécutée avec succès.

Les résultats de la requête sont les suivants :
                     

Nous verrons qu’une autre instruction SQL ne comporte aucune erreur, mais ne s’engage toujours pas avec succès. Voici ce que nous allons vous révéler.

#Transactions

Qu’est-ce que la transaction ?
Strictement parlant, si une opération satisfait l’atomicité, la persistance, l’isolation et la cohérence, alors l’opération est appelée transaction.
Soumettez automatiquement les transactions : dans SQL Server. Par défaut, chaque instruction SQL est une transaction.
Afficher les transactions : Chaque transaction commence explicitement avec une instruction BEGIN TRANSACTION et se termine explicitement par une instruction COMMIT ou ROLLBACK.



La démo que nous venons de mentionner ci-dessus s’est terminée par un rollback, donc l’exécution de SQL n’a pas d’effet. Les données n’ont pas été modifiées avec succès.

Dans le développement et l’application proprement dits, nous mettons généralement en place une couche de transactions en dehors de l’instruction non-requête pour garantir l’intégrité et la cohérence des données selon les besoins réels. Soit tu fais tout, soit tu ne fais pas tout.

Il y a deux variables système qui enregistrent le SQL défectueux. - @@rowcount renvoie le nombre de lignes concernées, @@error renvoie le mauvais encodage

Utilisons ces deux variables système pour déterminer s’il y a une erreur dans SQL et exécutons les deux instructions SQL ci-dessus.



#Procédures stockées

Signification : Encapsuler un processus qui est réalisé (qui peut être complexe) dans un nom, puis utiliser ce nom pour effectuer le processus.



>
Procédures stockées sans paramètre


>Procédures stockées avec paramètres



>Procédure stockée avec valeur de retour



Essayez de capturer dans la base de données



Il existe également des procédures stockées avec des paramètres par défaut, qui ont été mentionnées dans l’article précédent sur la pagination.


Épilogue


Les procédures stockées sont plus utilisées dans nos projets réels, de nombreux systèmes anciens, la logique métier est écrite dans des procédures stockées, et les personnes derrière la maintiennent et veulent simplement fracasser la tête du chien devant eux en quelques minutes. De manière générale, la logique métier est écrite dans le code, mais le nombre de fois où les données sont lues dans la base de données, et la logique métier est écrite dans le processus de stockage. L’année dernière, une série très complexe de logiques métier dans le projet de l’entreprise a été déplacée vers le processus de stockage, ce qui a multiplié la vitesse de plusieurs dizaines. Bien sûr, les circonstances particulières sont traitées de manière spéciale. L’application spécifique dépend du scénario réel.






(Note : Le contenu ci-dessus correspond aux notes d’étude de l’année, en cas de problème inapproprié, merci de le corriger !) )









Précédent:Je ressens le système de service client des grandes entreprises
Prochain:Vidéo d’Andale HCNP et HCIE
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com