PL/SQL Cursor FOR LOOP (Français)

0 Comments

résumé: dans ce tutoriel, vous apprendrez à utiliser L’instruction PL/SQL cursorFOR LOOP pour récupérer et traiter chaque enregistrement à partir d’un curseur.

Introduction à PL/SQL curseur DE la BOUCLE de l’instruction

Le curseur FOR LOOP est un ajout élégant à la numérique FOR LOOP déclaration.

le numériqueFOR LOOP exécute le corps d’une boucle une fois pour chaque valeur entière dans une plage spécifiée., De même ,le curseur FOR LOOP exécute le corps de la boucle une fois pour chaque ligne renvoyée par la requête associée au curseur.

Une fonction intéressante du curseur FOR LOOP déclaration, c’est qu’il vous permet d’extraire chaque ligne à partir d’un curseur sans manuellement gestion de l’exécution du cycle c’est à dire, OPEN, FETCH et CLOSE.

le curseur FOR LOOP crée implicitement son index de boucle en tant que variable d’enregistrement avec le type de ligne dans lequel le curseur revient, puis ouvre le curseur.,

à chaque itération de boucle, l’instruction cursorFOR LOOP récupère une ligne du jeu de résultats dans son index de boucle. Si il n’y a pas de ligne à récupérer, le curseur FOR LOOP ferme le curseur.

le curseur est également fermé si une instruction à l’intérieur de la boucle transfère le contrôle en dehors de la boucle, par exemple, EXITEt GOTO, ou lève une exception.,

L’exemple suivant illustre la syntaxe du curseur FOR LOOP instruction:

1) enregistrement

Le record est le nom de l’index que le curseur FOR LOOP instruction déclare implicitement comme un %ROWTYPE enregistrer variable du type du curseur.

Le record variable est locale à l’curseur FOR LOOP déclaration. Cela signifie que vous ne pouvez référencer à l’intérieur de la boucle, pas à l’extérieur., Après la fin de l’exécution de l’instruction cursor FOR LOOP, la variable record devient indéfinie.

2) cursor_name

Le cursor_name est le nom d’un curseur explicite qui n’est pas ouvert lors de la boucle commence.

notez qu’en plus du nom du curseur, vous pouvez utiliser une instructionSELECT comme indiqué ci-dessous:

dans ce cas, le curseurFOR LOOP déclare, ouvre, récupère et ferme un curseur implicite., Cependant, le curseur implicite est interne; par conséquent, vous ne pouvez pas le référencer.

notez Qu’Oracle Database optimise automatiquement un curseurFOR LOOP pour fonctionner de manière similaire à une requêteBULK COLLECT. Bien que votre code semble aller chercher une ligne à la fois, Oracle Database récupère plusieurs lignes à la fois et vous permet de traiter chaque ligne individuellement.

PL/SQL curseur DE la BOUCLE exemples

regardons quelques exemples de l’aide du curseur FOR LOOP déclaration de voir comment il fonctionne.,

A) PL/SQL curseur exemple DE BOUCLE for

L’exemple suivant déclare un curseur explicite et il utilise le curseur FOR LOOP déclaration.

Dans cet exemple, la balise SELECT déclaration du curseur récupère les données de la balise products tableau. L’instructionFOR LOOP s’ouvrait, récupérait chaque ligne du jeu de résultats, affichait les informations produit et fermait le curseur.,

B) curseur pour boucle avec une instruction SELECT exemple

l’exemple suivant est équivalent à l’exemple ci-dessus mais utilise une requête dans une instruction cursorFOR LOOP.

dans ce tutoriel, vous avez appris à utiliser le curseur PL/SQL FOR LOOP pour récupérer les données d’un curseur.

  • ce tutoriel a Été utile?
  • Ouinon


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *