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 des é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é dans 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 base de données. Il est très similaire à l'itérateur fourni par de nombreux langages de programmation.
Quels sont les déclencheurs?
Un déclencheur est une procédure (segment de code) qui est exécutée automatiquement lorsque des é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é dans une base de données. Les déclencheurs sont également utilisés pour appliquer les règles métier, auditer les modifications dans 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 des déclencheurs autres que des données, qui sont déclenchés lorsque des événements DDL (Data Definition Language) se produisent. Certains exemples sont des déclencheurs 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 spécialement utilisés pour l'audit. Le système de base de données Oracle prend en charge les déclencheurs de niveau de schéma (déclencheurs activés lorsque les schémas de base de données sont modifiés), tels que Après création, Avant modification, Après modification, Avant suppression, Après suppression, etc. Déclencheurs de niveau colonne, déclencheurs Chaque type de ligne et déclencheurs Pour chaque type d'instruction.
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 base de données. Il ressemble beaucoup à 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 l'extraction, l'ajout et la suppression de données. En définissant la bonne manière, les curseurs peuvent également être utilisés pour revenir 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 se voir attribuer 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 résultant. 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 des é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 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. La portée du curseur serait alors 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ésaffectés..