首页 > 解决方案 > Oracle PLSQL 程序制作递增模式

问题描述

我正在做一个项目,在那里我遇到了一个问题,我需要一个 PLSQL 程序来执行以下模式,比如增加数字、星号、哈希等。

1
12
123
1234
12345

标签: sqloracleplsql

解决方案


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

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

Demo


推荐阅读