0

我是 Oracle APEX 的新手,我使用的是 Oracle APEX 20.2 版,我有一个名为P720_DDL_MONTH_FROM的页面项目。

我们正在获取日期选择器Month From的该页面项目的值,如下所示。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

从值页面属性列表中:

 SELECT MON.NAME D, MON.MONTH R
 FROM (SELECT DISTINCT(NAME) "NAME", TO_NUMBER(MONTH) "MONTH" 
 FROM 
 MONTH_YEAR) MON
 ORDER BY MON.MONTH

从 pageItem 的默认值:

DECLARE L_VALUE NUMBER;
BEGIN
SELECT DISTINCT(MONTH) INTO  L_VALUE FROM MONTH_YEAR
WHERE UPPER(NAME) IN (SELECT TO_CHAR(ADD_MONTHS(TO_DATE(SYSDATE), -1), 'MON') FROM DUAL);
RETURN L_VALUE;
END;

在获取上述 sql 和 plsql 块的默认值时,我遇到了NO DATA FOUND问题,任何人都可以澄清上述查询的问题,并且由于某些功能可能在 apex 最新版本中被弃用

谢谢,

4

1 回答 1

0

如果你得到了no_data_found,这意味着没有满足你写的条件的行。

对于样品表

SQL> SELECT * FROM month_year;

     MONTH NAME
---------- --------------------
         4 APR
         6 JUN

查询返回一些东西(六月的值)(注意你不需要子查询;直接使用TO_CHAR(...)):

SQL> SELECT DISTINCT month
  2    FROM month_year
  3   WHERE UPPER (name) = TO_CHAR (ADD_MONTHS (TO_DATE (SYSDATE), -1), 'MON');

     MONTH
----------
         6

SQL>

如果你什么都没有,你应该检查month_year表格的内容,看看发生了什么。

于 2021-07-02T06:11:56.017 回答