【发布时间】:2014-04-23 23:00:27
【问题描述】:
我在反转光标时遇到了一点麻烦。我有一个项目排名。如果输入是 2,我想选择项目 1 和 2,但是让它像这样显示;
RANK
2
1
现在,当我输入 2 时,我得到了
RANK
231
230
这是表格的结尾,而不是开头。
我的光标只是
select rank, item
from itemtable
order by rank desc;
像这样在循环中使用:
FOR i IN REVERSE 1..v_num LOOP
DBMS_OUTPUT.PUT_LINE(to_char(v_RANK) || to_char(v_ITEM);
FETCH c_rank INTO v_rank, v_item;
EXIT WHEN c_rank%NOTFOUND;
END LOOP;
v_num 是要显示的项目数。我尝试将order by 设置为asc 和desc(如order by rank asc, rank desc),但这没有用。 Reverse 不会更改输出中的任何内容。我查看了其他类似但无法找到答案的问题。我难住了。这一定很容易解决,但我似乎无法弄清楚它是什么。
【问题讨论】:
-
当您提供给我们的只是代码的 sn-ps 时,很难判断发生了什么。也许您可以编辑问题并包括所有内容?谢谢。
-
您的
REVERSE没有用,因为您实际上并没有在代码中的任何地方使用i的值。无论如何,贾斯汀的答案是得到你想要的结果的方式。
标签: sql plsql oracle-sqldeveloper