Déclencheurs vs curseurs
Dans une base de données, un déclencheur est une procédure (segment de code) qui est exécutée automatiquement lorsque certains événements spécifiques se produisent dans une table / vue. Parmi ses autres utilisations, les déclencheurs sont principalement utilisés pour maintenir l'intégrité d'une base de données. Un curseur est une structure de contrôle utilisée dans les bases de données pour parcourir les enregistrements de la base de données. Il est très similaire à l'itérateur fourni par de nombreux langages de programmation.
Que sont les déclencheurs?
Un déclencheur est une procédure (segment de code) qui est exécutée automatiquement lorsque certains événements spécifiques se produisent dans une table / vue d'une base de données. Parmi ses autres utilisations, les déclencheurs sont principalement utilisés pour maintenir l'intégrité d'une base de données. Les déclencheurs sont également utilisés pour appliquer les règles métier, auditer les modifications de la base de données et répliquer les données. Les déclencheurs les plus courants sont les déclencheurs DML (Data Manipulation Language) qui sont déclenchés lorsque les données sont manipulées. Certains systèmes de base de données prennent en charge les déclencheurs sans données, qui sont déclenchés lorsque des événements DDL (Data Definition Language) se produisent. Certains exemples sont des déclencheurs qui sont déclenchés lors de la création de tables, lors d'opérations de validation ou d'annulation, etc. Ces déclencheurs peuvent être particulièrement utilisés pour l'audit. Le système de base de données Oracle prend en charge les déclencheurs au niveau du schéma (par ex.déclencheurs déclenchés lorsque les schémas de base de données sont modifiés) tels qu'après la création, avant modification, après modification, avant suppression, après suppression, etc. Les quatre principaux types de déclencheurs pris en charge par Oracle sont les déclencheurs de niveau ligne, les déclencheurs de niveau colonne, les déclencheurs de type de ligne Pour chaque déclencheur de type de déclaration.
Que sont les curseurs?
Un curseur est une structure de contrôle utilisée dans les bases de données pour parcourir les enregistrements de la base de données. Il est très similaire à l'itérateur fourni par de nombreux langages de programmation. En plus de parcourir les enregistrements d'une base de données, les curseurs facilitent également la récupération de données, l'ajout et la suppression d'enregistrements. En définissant le chemin correct, les curseurs peuvent également être utilisés pour parcourir en arrière. Lorsqu'une requête SQL renvoie un ensemble de lignes, celles-ci sont en fait traitées à l'aide de curseurs. Un curseur doit être déclaré et attribué un nom, avant de pouvoir être utilisé. Ensuite, le curseur doit être ouvert à l'aide de la commande OPEN. Cette opération placerait le curseur juste avant la première ligne du jeu d'enregistrements de résultats. Ensuite, le curseur doit effectuer l'opération FETCH pour obtenir une ligne de données dans l'application. Enfin, le curseur doit être fermé à l'aide de l'opération CLOSE. Les curseurs fermés peuvent être rouverts.
Quelle est la différence entre les déclencheurs et les curseurs?
Un déclencheur est une procédure (segment de code) qui est exécutée automatiquement lorsque certains événements spécifiques se produisent dans une table / vue d'une base de données, tandis qu'un curseur est une structure de contrôle utilisée dans les bases de données pour parcourir les enregistrements de la base de données. Un curseur peut être déclaré et utilisé dans un déclencheur. Dans une telle situation, l'instruction declare serait à l'intérieur du déclencheur. Ensuite, la portée du curseur serait limitée à ce déclencheur. Dans un déclencheur, si un curseur est déclaré sur une table insérée ou supprimée, un tel curseur ne serait pas accessible à partir d'un déclencheur imbriqué. Une fois qu'un déclencheur est terminé, tous les curseurs créés dans le déclencheur seront désalloués.