Vidéo: Différence Entre Le Curseur Explicite Et Le Curseur Implicite
2024 Auteur: Mildred Bawerman | [email protected]. Dernière modifié: 2023-12-16 08:38
Curseur explicite vs curseur implicite
Lorsqu'il s'agit de bases de données, un curseur est une structure de contrôle qui permet de parcourir les enregistrements d'une base de données. Un curseur fournit un mécanisme pour attribuer un nom à une instruction de sélection SQL, puis il peut être utilisé pour manipuler les informations contenues dans cette instruction SQL. Les curseurs implicites sont automatiquement créés et utilisés chaque fois qu'une instruction Select est émise en PL / SQL, lorsqu'il n'y a pas de curseur explicitement défini. Les curseurs explicites, comme leur nom l'indique, sont définis explicitement par le développeur. En PL / SQL, un curseur explicite est en fait une requête nommée définie à l'aide du mot clé curseur.
Qu'est-ce que le curseur implicite?
Des curseurs implicites sont automatiquement créés et utilisés par Oracle chaque fois qu'une instruction SELECT est émise. Si un curseur implicite est utilisé, le système de gestion de base de données (SGBD) effectuera automatiquement les opérations d'ouverture, de récupération et de fermeture. Les curseurs implicites ne doivent être utilisés qu'avec des instructions SQL qui renvoient une seule ligne. Si l'instruction SQL renvoie plus d'une ligne, l'utilisation d'un curseur implicite introduira une erreur. Un curseur implicite est automatiquement associé à chaque instruction DML (Data Manipulation Language), à savoir les instructions INSERT, UPDATE et DELETE. En outre, un curseur implicite est utilisé pour traiter les instructions SELECT INTO. Lors de la récupération de données à l'aide de curseurs implicites, une exception NO_DATA_FOUND peut être déclenchée lorsque l'instruction SQL ne renvoie aucune donnée. En outre,les curseurs implicites peuvent déclencher des exceptions TOO_MANY_ROWS lorsque l'instruction SQL renvoie plusieurs lignes.
Qu'est-ce que le curseur explicite?
Comme mentionné précédemment, les curseurs explicites sont des requêtes définies à l'aide d'un nom. Un curseur explicite peut être considéré comme un pointeur vers un ensemble d'enregistrements et le pointeur peut être déplacé vers l'avant dans l'ensemble d'enregistrements. Les curseurs explicites offrent à l'utilisateur un contrôle complet sur l'ouverture, la fermeture et la récupération des données. En outre, plusieurs lignes peuvent être récupérées à l'aide d'un curseur explicite. Les curseurs explicites peuvent également prendre des paramètres comme n'importe quelle fonction ou procédure afin que les variables du curseur puissent être modifiées chaque fois qu'il est exécuté. De plus, les curseurs explicites vous permettent d'extraire une ligne entière dans une variable d'enregistrement PL / SQL. Lors de l'utilisation d'un curseur explicite, il doit d'abord être déclaré à l'aide d'un nom. Les attributs du curseur sont accessibles en utilisant le nom donné au curseur. Après la déclaration, le curseur doit d'abord être ouvert. Ensuite, la récupération peut être lancée. Si plusieurs lignes doivent être récupérées, l'opération de récupération doit être effectuée dans une boucle. Enfin, le curseur doit être fermé.
Différence entre le curseur explicite et le curseur implicite
La principale différence entre le curseur implicite et le curseur explicite est qu'un curseur explicite doit être défini explicitement en fournissant un nom tandis que les curseurs implicites sont automatiquement créés lorsque vous émettez une instruction select. De plus, plusieurs lignes peuvent être récupérées à l'aide de curseurs explicites tandis que les curseurs implicites ne peuvent extraire qu'une seule ligne. De plus, les exceptions NO_DATA_FOUND et TOO_MANY_ROWS ne sont pas déclenchées lors de l'utilisation de curseurs explicites, par opposition aux curseurs implicites. En substance, les curseurs implicites sont plus vulnérables aux erreurs de données et fournissent moins de contrôle programmatique que les curseurs explicites. De plus, les curseurs implicites sont considérés comme moins efficaces que les curseurs explicites.
Recommandé:
Différence Entre EMF Et Différence Potentielle
EMF vs différence de potentiel (force électromotrice) sont utilisés pour décrire deux paramètres différents entre deux points. Le terme `` différence de potentiel '' est un ge
Différence Entre La Différence De Phase Et La Différence De Chemin
Différence de phase vs différence de chemin La différence de phase et la différence de chemin sont deux concepts très importants en optique. Ces phénomènes sont vus sur des problèmes de
Différence Entre La Différence De Potentiel Et La Tension
Différence de potentiel vs tension La différence de potentiel et la tension sont deux termes utilisés en ingénierie pour décrire une différence de potentiel en deux points
Différence Entre Le Coût Implicite Et Le Coût Explicite
Coût implicite vs coût explicite Le coût implicite et le coût explicite sont des termes utilisés en comptabilité. Comme à peu près tout en comptabilité, il y a toujours ce que nous
Différence Entre La Principale Différence Entre Les Minéraux Métalliques Et Non Métalliques
Différence clé - Minéraux métalliques et non métalliques Un minéral est un constituant solide et inorganique naturel avec une formule chimique définie un