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