Syntaxe:
Ce qui suit est la syntaxe simple pour générer un déclencheur:
>> créer Trigger Trigger_name [avant | After | au lieu de] Nom d'événement sur table_name [---- Trigger Logic];
Voici l'explication de la requête générale ci-dessus.
Pour comprendre brièvement le concept de déclenchement, lancez le shell postgresql à partir des applications. Modifiez le serveur si vous souhaitez travailler sur un autre serveur, ou bien appuyez sur Entrée à partir de votre clavier. Ajoutez le nom de la base de données sur laquelle vous souhaitez travailler, sinon, laissez-le tel quel et appuyez sur Entrée. Comme vous pouvez le voir, nous travaillons actuellement sur le port 5432 par défaut; Vous pouvez également le changer. Après cela, fournissez un nom d'utilisateur autre que Postgres si vous souhaitez travailler avec un autre utilisateur, ou bien, laissez-le vide et appuyez sur le bouton Entrée. Maintenant votre shell de commande est prêt à être utilisé.
Déclencher sur la commande insert
Examinons l'exemple d'un déclencheur lorsque la commande d'insert a été utilisée comme un événement de déclenchement. Pour cela, nous devons créer deux nouvelles tables, E.g., «Employer» et «Audit». La table «employée» contiendra les dossiers personnels des employés d'une entreprise spécifique et le tableau «Audit» contiendra les informations sur le moment où les employés ont rejoint l'entreprise. Les requêtes pour créer les tables sont données ci-dessous.
>> Créer une table utilise (ID INTEGER NON NULL CLIE PRIMATIQUE, NOM VARCHAR (100) NON NULL, AGE VARCHAR (100) NON NULL, SALAIRE VARCHAR (100) NON NULL);
>> Créer un audit de table (empid entier et non nul, entrée_date varchar (100) pas null);
Vous devez créer une procédure qui sera automatiquement exécutée ou fonctionnera lorsque le déclencheur sera appelé. Il sera utilisé dans la prochaine commande de déclencheur de création. À partir de la commande ci-dessous, vous pouvez avoir une idée que nous avons créé une procédure "AuditLogFunc ()", qui renverra un déclencheur comme variable "$ examp_table $". La fonction commence par la clause Begin, suivie de l'instruction d'insertion. Cette instruction INSERT INSERT L'ID automatique et la date temporelle actuelle à l'aide de la fonction intégrée dans la table «Audit» et renvoyant ce résultat pour déclencher.
Il est temps de générer un déclencheur à l'aide de la commande Create Trigger. Nous créons un déclencheur nommé «emp_trig» sur la table «employés». La clause après insert sur signifie que ce déclencheur ne fonctionnera qu'après l'exécution de la commande d'insertion. Pour chaque ligne signifie que lors de l'exécution de chaque commande d'insert, ce déclencheur appellera et exécutera la procédure "AuditLogFunc ()" créée juste avant.
>> Créer un déclencheur EMP_Trig après l'insertion sur Utilisation pour chaque ligne Exécuter la procédure AuditLogFunc ();
Il est temps d'insérer des données dans la table «employer». Exécutez la commande insert ci-dessous dans le shell.
>> Insérer dans les valeurs d'emploi (id, nom, âge, salaire) («1», «Paul», «34», «60000»);
Jetez un œil à la table «employez». Les données ont été ajoutées avec succès avec la commande INSERT.
Maintenant avoir un aperçu de la table «Audit». Vous pouvez voir, il est également mis à jour en raison de la déclenchement «emp_trig» et AuditLogFunc ().
Commande de mise à jour de déclenchement
Nous allons maintenant examiner un exemple de déclencheur en utilisant la commande de mise à jour comme événement de déclenchement. Nous devons recommencer une nouvelle procédure avec le nom différent «Mise à jour» comme présenté dans l'image. Cette procédure insérera également des enregistrements dans le tableau «Audit» lors de l'appel.
Maintenant, créez un nouveau déclencheur nommé "Update_emp" à l'aide de la commande Create Trigger. Cela ne fonctionnera qu'après que l'exécution de la requête de mise à jour sur le tableau utilise et il appellera la procédure «mise à jour».
Mettez à jour le tableau «Utiliser» en définissant son identifiant sur «2».
Répondez les enregistrements d'un tableau «Utiliser» pour afficher les modifications comme annexées ci-dessous.
Comme vous pouvez le voir sur la table «Audit», il a été réorganisé à mesure que le tableau «utilise» a été mis à jour.
Déclencher sur la commande de suppression
Ouvrez Pgadmin 4 à partir des applications pour travailler sur GUI Postgresql. Sous le schéma «test», vous découvrirez une liste de tables. Créez une nouvelle table «EMP» et la même table «Audit».
Cette fois, nous invoquerons la commande Trigger par la commande de suppression. Vous trouverez ci-dessous le tableau «EMP» avec certains enregistrements.
Voici la table d'audit avec les deux mises à jour précédentes.
Créez une procédure nommée «del ()» pour déclencher l'insertion dans le tableau «Audit» lors de la suppression des enregistrements du tableau «EMP».
Créer un déclencheur «del_trig» à l'aide de la requête de déclenchement de création. Ce déclencheur exécutera la procédure «del» lorsqu'une clause de suppression sera effectuée sur le tableau «EMP».
Supprimons un enregistrement de la table «EMP» où l'employé «ID» est «5». Il supprimera une ligne de la table «EMP».
Retrouvez les enregistrements du tableau «EMP» et jetez un œil. Vous pouvez voir que la ligne a été supprimée où «l'identifiant» était «5».
Extraire maintenant les enregistrements de table «Audit» et vous remarquerez qu'il a été mis à jour car l'opération de suppression a été effectuée sur le tableau «EMP».
Conclusion:
Nous avons fait presque tous les exemples essentiels pour comprendre le concept de déclenchement tout en effectuant des opérations d'insertion, de mise à jour et de suppression.