计算页面项 DDL_MONTH_FROM 的项默认值时出错联系您的应用程序管理员

问题描述

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

我们正在为日期选择器 Month From 获取页面项目的值,就像下面的查询一样。

enter image description here

enter image description here

enter image description here

来自页面属性值列表:

 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 最新版本中被弃用

谢谢,

解决方法

如果您得到 no_data_found,则表示没有满足您所写条件的行。

示例表

SQL> SELECT * FROM month_year;

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

查询返回something(六月的值)(注意你不需要子查询;直接使用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 表的内容,看看发生了什么。