sql - 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;
/
推荐阅读
- javascript - 使用 GAS 在 Google 工作表选项卡之间附加数据
- ios - 在 FBSDKShare 对话框中共享多个图像
- c - 如何使用结构创建 char** 类型的变量
- node.js - Kubernetes 中的缓存
- ios - Core Data 获取关系对象
- ajax - ajax的问题我没有得到内容
- python - 如何重定向到结果页面并使用 scrapy 从那里抓取?
- python - 熊猫:多列上的交叉表,然后是 Groupby
- c++ - 如何使用opencv从矩阵向量中构造图像
- android - 如何在 RecyclerView 中删除相同的 url Glide 缓存