在 Oracle apex 中的列上设置自定义验证
Posted
技术标签:
【中文标题】在 Oracle apex 中的列上设置自定义验证【英文标题】:Set custom validation on a column in Oracle apex 【发布时间】:2020-05-13 16:01:42 【问题描述】:我想在名为 :P8_HOME 和 :P8_AWAY 的列上创建自定义验证。我有几张桌子可以识别篮球比赛。 您是管理员,想为未来添加新游戏。如果任何一支球队在同一天已经有一场比赛,您想在其中添加一场比赛,那么系统会显示一条错误消息。
例如,当输入比赛日期,主客场球队并按下“添加按钮”时,系统将查看任一球队当天是否有比赛。如果有,则系统将显示消息并拒绝它。
如何在处理中添加验证? 以下是变量列表: P8_GAME_ID P8_GAME_DATE P8_HOME P8_AWAY P8_HOME_POINT P8_AWAY_POINT
【问题讨论】:
你好啊哈。验证在 apex 中非常常见。不确定您需要什么样的帮助。右键单击构建器中的页面项目并选择“创建验证”。 google 和 *** 上有很多例子。 【参考方案1】:您可以为此创建page level validation。
-
创建验证,输入“No Rows Returned”(即如果返回任何行,则将其视为验证失败)
放在“SQL Query”下面进行验证检查
SELECT * FROM <your_table_name> games WHERE games.home = :P8_HOME AND games.away = :P8_AWAY /*if you are using different date format from application date format, then use TO_DATE to convert into date */ AND games.date = :P8_GAME_DATE /* For new rows consider all rows in DB, for existing rows, don't consider current row*/ AND (:P8_GAME_ID IS NULL OR games.game_id != :P8_GAME_ID)
-
添加适当的“错误消息”和“服务器端条件”
【讨论】:
【参考方案2】: 右键单击您的必填页面项并创建验证 另一个是创建进程并选择 plsql 块,您可以验证所有验证,如 if else 条件基础,然后通过 rasie_application_error 方法的错误消息进行验证【讨论】:
以上是关于在 Oracle apex 中的列上设置自定义验证的主要内容,如果未能解决你的问题,请参考以下文章
穿梭列上的 Oracle APEX 交互式网格过滤器 APEX 19.2