Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да отпечатате 1 до 10, без да използвате цикъл в PL/SQL?

Тук давам пример за отпечатване на 1 до 10, без да използвам цикъла в PL/SQL. Можете да отпечатате до произволно число, като промените стойността 10 на произволно число, например 100.

PL/SQL програма за отпечатване от 1 до 10 без използване на цикъл

В програмата по-долу използвам PL/SQL етикети вместо цикъла за увеличаване на стойността и печат. В етикет с име (label_main) увеличавам стойността на променливата (i) и проверявам дали нейната стойност е по-голяма от 10, след което предавам контрола на етикет с име (label_end), иначе предавам контрола на етикет (label_main). Можете да промените стойността в условието IF от 10 на желаното число, за да отпечатате до това число.

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;
/

Изход

1
2
3
4
5
6
7
8
9
10
PL/SQL procedure successfully completed.
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам глобална временна таблица в процедурата на Oracle?

  2. Намерете дължината на най-дългия ред в колона в оракул

  3. Паралелен мениджър на Oracle

  4. UPPER() Функция в Oracle

  5. Как да върнете изходни параметри на Oracle от съхранена процедура в .NET