所以基本上说我有一个名为“设备”的表,然后其中一列是“数量”,如果我想创建一个采用该数字的值列表,比如数量是 4,值是(数量 - 1) 直到 !> 0,所以在这种情况下 (4, 3, 2, 1)
我正在使用 Oracle APEX 并假设我需要一个基于 sql 查询的动态 LOV,但不知道如何获得它。我从未在 PL/SQL 中使用过 for 循环
谢谢
所以基本上说我有一个名为“设备”的表,然后其中一列是“数量”,如果我想创建一个采用该数字的值列表,比如数量是 4,值是(数量 - 1) 直到 !> 0,所以在这种情况下 (4, 3, 2, 1)
我正在使用 Oracle APEX 并假设我需要一个基于 sql 查询的动态 LOV,但不知道如何获得它。我从未在 PL/SQL 中使用过 for 循环
谢谢
你不需要循环。
select level
from dual
connect by level <= 4
order by level desc;
这应该这样做。确保我把你放在/* xxx */
哪里包括一个只有 1 条记录的 where 子句。最有可能的是,您将在此处使用设备表的 ID。
SELECT ROWNUM display_value
, ROWNUM return_value
FROM DUAL
CONNECT BY ROWNUM <= (SELECT Quantity FROM Device WHERE /* xxx */)
ORDER BY ROWNUM DESC;