• Exemple de curseur pl sql

Exemple de curseur pl sql

Nous pouvons utiliser% FOUND à la place de% NOTFOUND et vice versa. Chaque fois que assign_bonus est appelé, la procédure soustrait le bonus donné du total et renvoie ce total réduit. Lorsque vous déclarez un curseur dans un package (c`est-à-dire, pas à l`intérieur d`un sous-programme du package) et que le curseur est ouvert, il restera ouvert jusqu`à ce que vous le fermez explicitement ou que votre session soit terminée. Le jeu de résultats de ce curseur est tous les course_numbers dont course_name correspond à la variable appelée name_in. Le programmeur qui appelle la fonction obtient de décider comment traiter la condition NO_DATA_FOUND. Notez que l`OPENaction ne récupère pas réellement les enregistrements de la base de données. Notez que j`ai inclus dans la fonction un gestionnaire d`exceptions qui intercepte NO_DATA_FOUND et retourne simplement un enregistrement NULL. Lorsque vous ouvrez un curseur, Oracle analyse la requête, lie des variables et exécute l`instruction SQL. Nous utilisons ces attributs pour éviter les erreurs lors de l`accès aux curseurs via les instructions OPEN, FETCH et CLOSE. En conséquence, Oracle a créé le curseur PL/SQL pour fournir ces extensions.

Lorsque la procédure se termine, elle attribue automatiquement toutes les valeurs de ligne dans les tables index-by aux éléments correspondants dans les tableaux hôtes. Chaque ligne de la table d`actions contient un numéro de compte, une action à prendre (I, U ou D pour l`insertion, la mise à jour ou la suppression), un montant par lequel mettre à jour le compte et une balise de temps utilisée pour séquencer les transactions. Par exemple, vous pouvez définir un curseur appelé C1 comme ci-dessous. Nous pouvons également créer un enregistrement avec un curseur en remplaçant le nom de la table par le nom du curseur. Il est créé sur une instruction SELECT qui renvoie plus d`une ligne. L`instruction FETCH place le contenu de la ligne actuelle en variables. La liste 2 inclut la fonction names_for, qui retourne une variable de curseur qui récupère les noms des employés ou des départements, selon l`argument passé à la fonction. Toutefois, les exemples Pro * C s`attendent à ce que vous utilisiez le compte Scott/Tiger. Le deuxième script charge (ou recharge) les tables de base de données. Au lieu de cela, l`attribut cursor_name% NOTFOUND retournera TRUE.

Ce sont les principaux attributs d`un curseur PL/SQL et leurs descriptions. Ceci est particulièrement pratique lorsque vous avez besoin d`utiliser PL/SQL, en plus de SQL, pour générer le jeu de résultats. Sur une suppression, si la ligne n`existe pas, aucune action n`est prise. Vous exécutez des échantillons de manière interactive à partir de SQL * plus, d`autres à partir de programmes Pro * C. Renvoie la valeur true si une instruction INSERT, UPDATE ou DELETE a affecté une ou plusieurs lignes ou si une instruction SELECT INTO a renvoyé une ou plusieurs lignes. Un bloc externe déclare deux variables nommées x et le compteur et les boucles quatre fois.