Certains avantages de l'utilisation de déclencheurs
Syntaxe
La syntaxe de la création d'un déclencheur est donnée ci-dessous.
Créer [ou remplacer] [CONSTRAINT] Nom du déclenchement avant | Après | Au lieu de événement [ou…]Conditions préalables
UN. Installez le postgresql
Vous devez installer la dernière version des packages PostgreSQL sur le système d'exploitation Linux avant d'exécuter les instructions SQL affichées dans ce tutoriel. Exécutez les commandes suivantes pour installer et démarrer le postgresql:
$ sudo apt-get -y installer postgresql postgresql-contrib
$ sudo systemctl start postgresql.service
B. Exécutez la commande suivante pour vous connecter à PostgreSQL avec Root Privilege.
$ sudo -u postgres psql
C. Vous pouvez créer une base de données nommée «testdb " En exécutant l'instruction SQL suivante.
# Créer une base de données testdb;Si vous souhaitez créer une table dans le testdb base de données, alors vous devez taper «\ C» Pour modifier la base de données. Mais dans ce tutoriel, je n'ai pas modifié la base de données, et le tableau et toutes les fonctions ont été créés dans la base de données par défaut nommée postgres.
Créer une table nommée enseignants et cours avec certains enregistrements pour tester l'utilisation des déclencheurs qui seront créés plus tard dans ce tutoriel.
Créer des professeurs de table (Exemples de déclenchement
Chaque déclencheur est associé à une fonction postgresql. Vous devez donc créer la fonction avant de créer le déclencheur. La façon de créer différents types de déclencheurs a été montrée dans cette partie du tutoriel.
Exemple-1: Créer avant d'insérer le déclencheur
L'insertion avant déclenche des incendies avant d'effectuer une opération d'insertion. Exécutez l'instruction SQL suivante pour créer une fonction nommée avant_insert () qui sera utilisé dans un Avant d'insérer déclencher. L'un des objectifs principaux de l'utilisation d'un déclencheur est la validation des données. La fonction suivante vérifiera si les champs particuliers sont vides ou non. Si l'une des valeurs de champ reste vide, alors un message d'erreur particulier sera augmenté. Une autre validation sera vérifiée pour le nom champ, et un message d'erreur sera augmenté si la longueur de ce champ est inférieure à 5. L'instruction conditionnelle suivante est utilisée pour concaténer la valeur de la chaîne «+88» avec le contact_no Si la longueur du contact_no le champ est 11.
Créer ou remplacer la fonction avant_insert ()La sortie suivante apparaîtra si la fonction est créée avec succès dans le postgres base de données.
Exécutez l'instruction SQL suivante pour créer un déclencheur nommé check_before_insert qui exécutera le avant_insert () fonction avant d'insérer le nouvel enregistrement au enseignants tableau.
Créer un déclencheur Check_before_insertLa sortie suivante apparaîtra si le déclencheur est créé avec succès.
Exécutez l'instruction d'insertion suivante qui contient toutes les données valides.
Insérer dans les enseignants (nom, adresse, contact_no)La sortie suivante apparaîtra si le nouvel enregistrement est inséré avec succès.
Exécutez l'instruction d'insertion suivante qui contient les données non valides pour le champ Nom.
Insérer dans les enseignants (nom, adresse, contact_no)Le message d'erreur suivant apparaîtra pour la valeur de nom non valide.
Exécutez l'instruction d'insertion suivante qui contient la valeur vide pour le adresse et contact_no champs, et la valeur vide de ces champs n'est pas valide.
Insérer dans les enseignants (nom, adresse, contact_no)Le message d'erreur suivant apparaîtra pour les valeurs vides.
Exécutez l'instruction SELECT suivante pour vérifier quels enregistrements sont insérés après avoir utilisé le déclencheur avant l'insertion.
Sélectionner * parmi les enseignants;La sortie suivante montre qu'un seul enregistrement est inséré après avoir utilisé le déclencheur.
Exemple-2: Créer après la suppression de suppression
Le déclencheur après la suppression des incendies après avoir supprimé tout enregistrement du tableau particulier. Exécutez l'instruction SQL suivante pour créer une fonction nommée After_delete () qui sera utilisé dans un Après la suppression déclencher pour supprimer les lignes connexes du cours table lorsqu'un enregistrement est supprimé du enseignants' tableau. Ici, un vieux.identifiant a été utilisé pour tracer le supprimé identifiant du enseignants' tableau.
Créer une fonction après_delete ()La sortie suivante apparaîtra si la fonction est créée avec succès dans le postgres base de données.
Exécutez l'instruction SQL suivante pour créer un déclencheur nommé Delete_teacher qui exécutera le After_delete () fonction après avoir supprimé un enregistrement du enseignants' table qui supprimera les enregistrements du cours table où le professeur_id la valeur correspond à la suppression identifiant valeur du enseignants' tableau.
Créer un déclencheur de suppression_teacherLa sortie suivante apparaîtra si le déclencheur est créé avec succès.
Exécutez la déclaration de suppression suivante qui supprimera le dossier du tableau des enseignants où le identifiant la valeur est 1. Le Delete_teacher Le déclencheur sera tiré si un enregistrement est supprimé du enseignants' tableau.
Supprimer des enseignants où id = 1;La sortie suivante montre qu'un enregistrement a été supprimé du tableau des enseignants. Alors le Delete_teacher Le déclencheur sera tiré et supprimera tous les enregistrements du tableau des cours qui contient 1 dans le professeur_id champ.
Maintenant, exécutez les commandes de sélection suivantes pour vérifier quels enregistrements sont supprimés du enseignants et cours les tables.
Sélectionner * parmi les enseignants;La sortie montre qu'un enregistrement a été supprimé du tableau des enseignants et que deux enregistrements ont été supprimés du tableau des cours en utilisant le déclencheur.
Exemple-3: Créer au lieu du déclencheur de mise à jour
Le déclencheur au lieu de mise à jour peut être appliqué sur les vues de la table uniquement. Vous devez donc créer une vue de la table et une fonction pour tester l'utilisation de ce type de déclencheur. Exécutez l'instruction SQL suivante pour créer une fonction nommée insert_course () qui mettra à jour les valeurs du enseignants et le cours table après avoir inséré un nouveau record au cours tableau. Le but de cette fonction est d'attribuer un enseignant au nouveau cours si l'enseignant est disponible.
Créer ou remplacer la fonction insert_course ()La sortie suivante apparaîtra si la fonction est créée avec succès dans le postgres base de données.
Exécutez la commande SQL suivante pour créer une vue du tableau des cours.
Créer des cours de vue_view commeLa sortie suivante apparaîtra si la vue est créée avec succès.
Maintenant, exécutez l'instruction SQL suivante pour créer le déclencheur d'insertion de l'insertion nommé update_data qui sera licencié lorsqu'un nouvel enregistrement sera inséré en utilisant le create_view voir.
Créer un déclencheur Update_dataLa sortie suivante apparaîtra si le déclencheur est créé avec succès.
Exécutez la déclaration d'insertion suivante pour insérer un nouvel enregistrement dans le tableau des cours en utilisant cours_view voir.
Insérer dans Courses_view (nom, Credit_Hour)La sortie suivante apparaîtra si les données sont insérées avec succès à l'aide de la vue.
Maintenant, exécutez les relevés de sélection suivants pour vérifier comment les cours et les tables des enseignants ont été modifiés après avoir inséré un nouvel enregistrement dans le tableau des cours en utilisant la vue.
Sélectionner * parmi les enseignants;La sortie suivante montre qu'un nouvel enregistrement a été inséré dans le tableau des cours et le champ disponible du enseignants' Le tableau a été mis à jour de «T» à «F», où la valeur d'ID est de 3, et cette valeur d'identification a été mise à jour dans le cours table pour attribuer ce professeur au cours nouvellement inséré.
Conclusion
De nombreuses tâches de base de données peuvent être effectuées automatiquement en utilisant un déclencheur dans la base de données PostgreSQL. Chaque déclencheur est exécuté en utilisant une fonction particulière. De nombreuses objectifs d'utilisation des déclencheurs ont été expliqués dans ce tutoriel en créant plusieurs déclencheurs avec la fonction. Trois différents types de déclencheurs ont été créés ici qui aideront les nouveaux utilisateurs de PostgreSQL à connaître la façon de créer et d'utiliser des déclencheurs dans la base de données PostgreSQL.