Différence entre déclencheur et procédure

Auteur: Laura McKinney
Date De Création: 1 Avril 2021
Date De Mise À Jour: 13 Peut 2024
Anonim
Différence entre déclencheur et procédure - La Technologie
Différence entre déclencheur et procédure - La Technologie

Contenu


Le déclencheur et la procédure sont des composants de SQL avancé. Déclencheur et Procédure exécutent tous deux une tâche spécifiée lors de leur exécution. La différence fondamentale entre Trigger et Procedure est que le Déclencheur s’exécute automatiquement à la survenance d’un événement alors que le Procédure est exécuté lorsqu'il est explicitement appelé.

Laissez-nous discuter de quelques autres différences entre Trigger et Procedure à l’aide du tableau de comparaison présenté ci-dessous.

  1. Tableau de comparaison
  2. Définition
  3. Différences Clés
  4. Conclusion

Tableau de comparaison

Base de comparaisonDéclencheursProcédures
De base Ils sont automatiquement exécutés à la survenance de l'événement spécifié.Ils peuvent être exécutés à tout moment.
AppelLes déclencheurs ne peuvent pas être appelés dans une procédure.Mais, vous pouvez appeler une procédure dans un déclencheur.
Paramètre Nous ne pouvons pas transmettre de paramètres à des déclencheurs.Nous pouvons transmettre des paramètres aux procédures.
RevenirLe déclencheur ne renvoie jamais de valeur à l'exécution.La procédure peut renvoyer valeur / s lors de l'exécution.


Définition du déclencheur

Le déclencheur ressemble à une procédure qui est exécutée automatiquement à la survenance d'un événement spécifié. Comme pour la procédure, le déclencheur n'a pas besoin d'être appelé explicitement. Des déclencheurs sont créés pour effectuer certaines tâches en réponse à l'occurrence d'un événement spécifié.

Le déclencheur peut être appelé en réponse à la DDL instructions (DELETE, INSERT ou UPDATE), ou DML instructions (DELETE, INSERT ou UPDATE) ou, pour certaines opérations de base de données (SERVERERROR, LOGON, LOGOFF, STARTUP ou SHUTDOWN).

Le déclencheur est constitué de trois composants, comme indiqué ci-dessous:

  • un événement: L'événement est l'occurrence d'un incident qui entraînera l'exécution du déclencheur. Le déclencheur peut être commandé pour exécuter soit AVANT un événement se produit ou il peut être ordonné d'être exécuté APRÈS l'exécution d'un événement.
  • État: C'est une partie optionnelle de la gâchette. Si ce n'est pas mentionné, le déclencheur s'exécutera lorsque l'événement spécifié se produira. Si la condition est spécifiée, il vérifiera les règles pour déterminer si le déclencheur doit être exécuté.
  • action: Action est un ensemble d'instructions SQL qui seront exécutées lors de l'exécution du déclencheur.

La forme générale de création d'un événement est discutée ci-dessous:


CREATE TRIGGER AVANT APRÈS CONDITION ACTION;

Ici, la condition est optionnelle.

Définition des procédures

La procédure peut être considérée comme une unité de programme, créée pour effectuer une tâche et elle est stockée dans la base de données. Ils sont appelés par l'instruction SQL chaque fois que nécessaire. Les procédures sont comme des fonctions définies par l'utilisateur définies par les développeurs. Les procédures peuvent être invoquées en utilisant APPEL ou EXÉCUTER.

Les procédures sont utiles dans les situations suivantes:

  • Si la procédure est requise par plusieurs autres applications, elle peut être stockée sur le serveur afin de pouvoir être appelée par n'importe quelle application. Cela réduira les efforts de duplication de la procédure d'une base de données à une autre et améliorera également la modularité du logiciel.
  • L'exécution de la procédure sur le serveur réduira le transfert de données et les coûts de communication.
  • Les procédures peuvent être utilisées pour vérifier les contraintes complexes qui sont au-delà de la puissance de déclenchement.

Laissez-nous discuter de la forme générale de créer une procédure:

CREER PROCEDURE () RÉSULTATS ;

Ici, les paramètres et les déclarations locales sont optionnels. Ils ne sont mentionnés que lorsqu'ils sont requis. La déclaration ci-dessous décrit l’appel des procédures.

APPEL () ;

  1. La principale différence entre le déclencheur et la procédure est qu'un déclencheur est une instruction invoquée automatiquement lorsqu'un événement se produit. D'autre part, la procédure est invoquée chaque fois que cela est requis.
  2. On peut définir une procédure à l'intérieur d'un déclencheur. Cependant, un déclencheur n'est jamais défini dans une procédure car il doit être appelé automatiquement à la survenance de tout événement.
  3. Nous pouvons transmettre des paramètres à des procédures, mais nous ne pouvons pas transmettre de paramètres à déclencher car ils ne sont pas invoqués.
  4. Une procédure peut renvoyer des valeurs de paramètre ou du code, mais un déclencheur ne peut pas.

Conclusion:

Les déclencheurs sont utiles, mais ils sont évités s’il existe une alternative, car cela augmente la complexité des données. Parfois, les déclencheurs sont également remplacés par une procédure appropriée.