sql >> Database >  >> RDS >> Oracle

Hoe kan ik 1 tot 10 afdrukken zonder Loop in PL/SQL te gebruiken?

Hier geef ik een voorbeeld om 1 tot 10 af te drukken zonder de lus in PL/SQL te gebruiken. U kunt tot een willekeurig getal afdrukken door de waarde 10 te wijzigen in een willekeurig getal, bijvoorbeeld 100.

PL/SQL-programma om 1 tot 10 af te drukken zonder lus te gebruiken

In het onderstaande programma gebruik ik PL/SQL-labels in plaats van de lus om de waarde te verhogen en af ​​te drukken. In label met de naam (label_main), verhoog ik de waarde van de variabele (i) en controleer ik of de waarde groter is dan 10 en geef ik de controle door aan een label met de naam (label_end), anders geef ik de controle door aan label (label_main). U kunt de waarde in de ALS-voorwaarde wijzigen van 10 in het gewenste aantal om tot aan dat aantal af te drukken.

SET SERVEROUTPUT ON;

DECLARE
   i   NUMBER;
BEGIN
   i := 0;

  <<label_main>>
   i := i + 1;

   IF i > 10
   THEN
      GOTO label_end;
   END IF;

  <<label_print>>
   DBMS_OUTPUT.put_line (i);
   GOTO label_main;

  <<label_end>>
   NULL;
END;
/

Uitvoer

1
2
3
4
5
6
7
8
9
10
PL/SQL procedure successfully completed.
  1. SQL slechte prestaties van het uitvoeringsplan voor opgeslagen procedures - parameter snuiven

  2. Een getal naar boven afronden naar het dichtstbijzijnde gehele getal in SQL

  3. Hoe u maximale en minimale waarden uit een tabel haalt met behulp van de aggregatiefunctie - SQL Server / TSQL-zelfstudie, deel 129

  4. Wat is het verschil tussen niet-herhaalbaar lezen en Phantom Read?