Oracle PLSQL程序制作递增模式



我正在做一个项目,在那里我提出了一个问题,我需要一个PLSQL程序,它将执行以下模式,如增加数字,星星,哈希等。

1
12
123
1234
12345

您可以使用这样的分层查询

WITH t AS 
(  
SELECT LISTAGG(level) WITHIN GROUP (ORDER BY level) AS nr, MAX(level) AS lvl
FROM dual
CONNECT BY level <= 5 
)
SELECT SUBSTR(nr,1,level) AS nr
FROM t
CONNECT BY level <= lvl 

如果需要在PL/SQL代码块中编写,则与上面的查询一起使用FOR LOOP

SQL> SET SERVEROUTPUT ON
SQL> BEGIN
FOR c IN 
(
<above query>
)
LOOP
DBMS_OUTPUT.PUT_LINE(c.nr);
END LOOP;
END;
/ 

使用两个循环:

BEGIN
FOR i IN 1 .. 5 LOOP
FOR j IN 1 .. i LOOP
DBMS_OUTPUT.PUT(j);
END LOOP;
DBMS_OUTPUT.NEW_LINE();
END LOOP;
END;
/

输出:

1
12
123
1234
12345

db<此处小提琴>

最新更新