PL/SQL Cursor FOR LOOP (Français)
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, EXIT
Et 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