如何使用 pl/SQL 函数在 LOV 项中列出数字(例如从 1 到 20)?返回值与显示值相同
Posted
技术标签:
【中文标题】如何使用 pl/SQL 函数在 LOV 项中列出数字(例如从 1 到 20)?返回值与显示值相同【英文标题】:How do I list numbers -for example from 1 to 20- in a LOV item by using pl/SQL function? Return values are same as display values 【发布时间】:2021-02-04 17:11:16 【问题描述】:我正在尝试通过在 pl/SQL 函数中使用循环来在 LOV 项中列出数字(例如从 1 到 20)。这一定是可能的,但我还没有成功。感谢您的宝贵帮助。
【问题讨论】:
它必须是 PL/SQL 函数而不是 SQL 查询吗?您当然可以编写一个返回 20 行的流水线表函数。但是 SQL 查询将涉及更少的代码。 是的,你是对的。如果我创建一个包含两列的表,第一列用于 id,第二列用于数字,那么我可以编写如下 SQL 查询:select number d, id r from numbers;但我不想只为数字创建一个表格。我想使用循环或类似的东西。 您可以编写一个生成数字 1-20 的 SQL 查询,而无需创建numbers
表。这可以接受吗?还是需要用到PL/SQL?
是的,这是可以接受的。请问可以写吗?
【参考方案1】:
不需要做pl/sql,这可以通过纯SQL中的伪列LEVEL
和CONNECT BY
子句来实现。对于日期列表、数字列表等选择非常有用。对于从 1 到 20 的数字列表,您可以这样做:
SELECT
level AS display_value,
level AS return_value
FROM
dual
CONNECT BY
level <= 20
【讨论】:
这里有更多解释:geeksforgeeks.org/….以上是关于如何使用 pl/SQL 函数在 LOV 项中列出数字(例如从 1 到 20)?返回值与显示值相同的主要内容,如果未能解决你的问题,请参考以下文章