所以我使用的是Oracle APEX,我正在尝试创建一个动态的值列表。所以说我有一个名为" Device"其中两列是" ID"和"数量。"
我有一个用户可以选择设备的表单,并且从那里我试图获取下一个表单字段以返回该设备数量的值列表加上减去1的值,直到不再大于0。 .so基本上:
WHILE quantity > 0
LOOP
quantity := quantity - 1;
因此,我说我选择设备iPad,其数量为3,它将创建一个值列表(3,2,1)。我目前有这个LOV查询工作来获取数量本身:
select distinct quantity d, quantity r
from device
where device.id = :P2_DEVICEID
order by 1
所以这只返回一个只有一个值的LOV,即我选择的设备数量 (注意:P2_DEVICEID是"级联LOV父项"因此当有人从下拉列表LOV中选择表单中的设备时,它将根据某人为设备选择的选项刷新数量LOV场)
但是,是的,所以我尝试了这个和它的变种,但一直在犯错误
WHILE quantity > 0
LOOP
select distinct quantity d, quantity r
from device
where device.id = :P2_DEVICEID
update quantity := quantity - 1;
END LOOP;
order by 1
这是上述错误:
"在呈现页面项P2_DEVICEQUANTITY期间出错。 ORA-06550:第6行,第24列:PL / SQL:ORA-00933:SQL命令未正确结束ORA-06550:第4行第1列:PL / SQL:忽略SQL语句ORA-06550:第9行第1列: PLS-00103:遇到符号" ORDER"当期待下列之一:(开始情况声明结束异常退出goto if loop mod null pragma raise return select update with with with