Maison > base de données > Oracle > le corps du texte

Quelles sont les instructions de boucle dans les procédures stockées Oracle ?

WBOY
Libérer: 2022-06-10 15:49:28
original
13462 Les gens l'ont consulté

Instructions de boucle dans les procédures stockées Oracle : 1. Boucle LOOP, la syntaxe est "corps de boucle; EXIT WHEN fin de l'expression conditionnelle de la boucle; END LOOP;"; end loop;"; 3. pour la boucle, la syntaxe est "pour la variable IN (inverse) valeur limite inférieure du compteur... valeur limite supérieure du compteur LOOP corps de boucle;END LOOP;".

Quelles sont les instructions de boucle dans les procédures stockées Oracle ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, Oracle version 12c, ordinateur Dell G3.

Quelles sont les instructions de boucle dans les procédures stockées Oracle ?

Lorsque le programme doit effectuer à plusieurs reprises une certaine opération, il doit utiliser une structure de boucle. Les instructions de boucle en PL/SQL comprennent principalement trois types : l'instruction LOOP, l'instruction WHERE et l'instruction FOR.

Instruction LOOP

L'instruction LOOP exécutera d'abord le corps de la boucle une fois, puis déterminera si l'expression conditionnelle après le mot-clé EXIT WHEN est vraie ou fausse. Si elle est vraie, quittez le corps de la boucle, sinon le programme le fera. exécutez à nouveau le corps de la boucle.

Syntaxe de base :

loop
    A;
    EXIT WHEN B;
END LOOP;
Copier après la connexion

A : Représente l'instruction SQL dans le corps de la boucle, qui peut être une phrase ou plusieurs phrases. C'est la partie centrale du corps de la boucle. Ces instructions sont exécutées au moins une fois.

B : Expression conditionnelle de fin de boucle, lorsqu'elle est vraie, quittez la boucle, sinon exécutez à nouveau le corps de la boucle.

Exemple de code :

-- Created on 2020/12/16 by GUO 
declare 
  i int:= 0;
begin
  loop
    i:=i+1;
    dbms_output.put_line(i);
    EXIT WHEN i > 3;
  END LOOP;
end;
Copier après la connexion

Résultat d'exécution :

Quelles sont les instructions de boucle dans les procédures stockées Oracle ?

Exemple pratique :

Lors de l'utilisation de Boucle + curseur, la valeur dans le curseur doit être réaffectée, sinon une erreur sera signalée.

-- Created on 2020/12/17 by GUO 
declare
  cursor user is
    select * from user_table;
  user1 user_table%rowtype;
begin
  open user;
  loop
    fetch user into user1;
    exit when user%notfound;
    dbms_output.put_line('用户名称:' || user1.USER_NAME);
    dbms_output.put_line('用户年龄:' || user1.USER_AGE);
  end loop;
  close user; --关闭游标
end;
Copier après la connexion

Instruction WHILE

Avant d'exécuter, vous devez d'abord déterminer si la valeur de l'expression conditionnelle est vraie, exécutez le corps de la boucle. Sinon, quittez la boucle WHILE et continuez à exécuter le code derrière la boucle.

Syntaxe de base :

while a loop
  b;
end loop;
Copier après la connexion

A : Représente une expression conditionnelle Lorsque la valeur est vraie, le programme exécute le corps de la boucle, sinon il se termine.

B : instruction SQL dans le corps de la boucle.

Exemple de code :

-- Created on 2020/12/17 by GUO 
declare
  i int := 0;
begin
  while i < 3 loop
    i := i + 1;
    dbms_output.put_line(i);
  end loop;
end;
Copier après la connexion

Résultat d'exécution :

Quelles sont les instructions de boucle dans les procédures stockées Oracle ?

Exemple pratique :

-- Created on 2020/12/17 by GUO 
declare
  cursor user is
    select * from user_table;
  user1 user_table%rowtype;
begin
  open user;
  fetch user into user1;
  while(user%found)loop
  dbms_output.put_line(&#39;用户名称:&#39; || user1.USER_NAME);
  fetch user into user1;
  end loop;
end;
Copier après la connexion

Instruction FOR

L'instruction FOR est une instruction de contrôle de boucle qui peut définir le nombre de boucles à l'avance. Elle a une boucle. compteur, généralement une variable entière, via ce compteur pour contrôler le nombre de boucles.

Syntaxe de base :

for A IN (reverse) B...C LOOP
   D;
 END LOOP;
Copier après la connexion

A : Représente une variable, généralement un type de certificat, utilisée comme compteur. La valeur par défaut est incrémentée. Lorsque le mot-clé reverse est utilisé dans une boucle, il sera décrémenté dans une boucle.

B : Valeur limite inférieure du compteur. Lorsque la valeur du compteur est inférieure à la valeur limite inférieure, la boucle est terminée.

C : La limite supérieure du compteur. Lorsque la valeur du compteur est supérieure à la limite supérieure, la boucle est terminée.

D : Corps en boucle. +

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal