Différence entre trigger et procédure stockée

Quelle est la différence entre trigger et procédure stockée ? – trigger et procédure stockée sont des composants avancé de SQL. Les deux exécutent une tâche spécifique lors de leur exécution. La différence clé entre trigger et procédure stockée réside dans le fait que trigger s’exécute automatiquement lors d’un événement alors que la procédure stockée est exécutée lorsqu’elle est explicitement appelée.
 
 

Table de comparaison
TriggerProcédure stockée
DéfinitionIls sont automatiquement exécutés lors d’un événement spécifié.Ils peuvent être exécutés chaque fois que nécessaire.
L’AppelLes triggers ne peuvent pas être appelés dans une procédure.Mais, vous pouvez appeler une procédure dans un trigger.
Les paramètresNous ne pouvons pas passer de paramètres aux triggers.Nous pouvons passer des paramètres aux procédures.
ReturnLe trigger ne renvoie jamais de valeur à l’exécution.La procédure peut renvoyer une ou plusieurs valeur à l’exécution.
Différence entre 3NF et BCNFDifférence entre 3NF et BCNFQuelle est la différence entre 3NF et BCNF ? – On recoure à la normalisation pour supprimer la redondance d’une relation, minimisant ainsi les anomalies…Lire plus
Définition de Trigger

Le trigger est comme une procédure qui est exécutée automatiquement à l’occurrence d’un événement spécifié. Le trigger n’a pas besoin d’être appelé explicitement, et sont créés pour effectuer certaines tâches en réponse à l’occurrence d’un événement spécifié.

La forme générale du trigger :

CREATE TRIGGER <nom_du_trigger>
BEFORE/AFTER <events>
CONDITION
ACTION;

Exemple concrète d’un trigger :

L’exemple suivant illustre un trigger qui calcule la commission de chaque nouvel employé appartenant au service 22 avant qu’un enregistrement pour cet employé ne soit inséré dans la table EMPLOYEE:

CREATE OR REPLACE TRIGGER employee_commission_trigger
    BEFORE INSERT ON employee
    FOR EACH ROW
BEGIN
    IF :NEW.deptno = 22 THEN
        :NEW.commission := :NEW.salary * .2;
    END IF;
END;
Différence entre vue et vue matérialiséeDifférence entre vue et vue matérialiséeQuestion: Quelle est la différence entre une vue et une vue matérialisée? Sont-ils des vues? Que signifie rafraîchir une vue matérialisée?   Les deux sont…Lire plus
Définition de procédure stockée

La procédure stockée peut être considérée comme une unité de programme, créée pour exécuter certaines tâches et stockée dans la base de données. Ils sont appelés par une instruction SQL chaque fois que nécessaire. Les procédures stockée sont comme les fonctions définies par l’utilisateur définies par les développeurs. Les procédures stockée peuvent être appelées en utilisant CALL ou EXECUTE.

La forme générale d’une procédure stockée:

CREATE PROCEDURE <procedure_name> (<parameters>)
RETURNS <return_type>
<local_declarations>
<procedure_body>;

Ici, les paramètres et les déclarations locales sont facultatifs. Ils ne sont mentionnés que lorsqu’ils sont requis.

La forme générale d’une appel d’une procédure stockée:

CALL <procedure_or_function_name> (<argument_list>);<br>
Différence entre une entité forte et faibleDifférence entre une entité forte et faibleQuelle est la différence entre une entité forte et faible ? – Avant d’entamer la différence entre une entité forte et faible, nous devons savoir…Lire plus
Différences clés entre déclencheur et procédure
  • La principale différence entre le trigger et la procédure stockée est qu’un trigger est une instruction qui est appelée automatiquement lorsqu’un événement s’est produit. En revanche, la procédure stockée est invoquée chaque fois que cela est nécessaire.
  • On peut définir une procédure stockée à l’intérieur d’un trigger. Mais, un trigger n’est jamais défini dans une procédure stockée, car le trigger doit être appelé automatiquement à la survenance de tout événement.
  • Nous pouvons passer des paramètres aux procédures stockées, mais nous ne pouvons pas transmettre de paramètres à un trigger car nous ne l’avons pas invoqué.
  • Une procédure stockée peut renvoyer des valeurs de paramètre ou du code, mais un trigger ne peut pas.
Conclusion:

Les triggers sont utiles, mais ils ne sont pas recommandés, car ils augmentent la complexité des données. Parfois, les triggers sont également remplacés par des procédures stockées.

Différence entre DELETE et TRUNCATEDifférence entre DELETE et TRUNCATEQuelle est la différence entre DELETE et TRUNCATE ? – Dans SQL, il y a plusieurs façon pour supprimer les lignes d’une table. Vous pouvez…Lire plus
Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *