在 Oracle APEX 中创建引发错误的函数
Creating functions that raise errors in Oracle APEX
我已经是使用 Oracle APEX 19 的第 2 周了,我即将完成开发一个允许用户 create/update/delete 产品系列的新手级应用程序。我使用了一个交互式网格,但现在我需要在某个地方创建一个函数(验证?过程?),它调用我在 JDev 中创建的支持包。包中的函数检查 table 以查看该系列是否已经存在。如果是这样,我需要 APEX 在保存后输入 NOT 时立即引发错误。
区域名称为 PF,相关列名为 product_family。 APEX 不处理绑定变量 (:pf),所以我知道语法发生了变化,但我不知道这将如何改变下面的 PL/SQL 函数。
我创建了一个验证
类型:PL/SQL 函数体(RETURN BOOLEAN)
BEGIN
IF product_families.product_family_exists(:pf.product_family) THEN
MSG_ALERT (
'Product family previously exists.'
,'E'
,TRUE
);
END IF;
END;
有谁知道在网格中输入产品系列时立即引发错误的正确语法(如果它已经存在)?请和谢谢。
如果您在被调用的 package/procedure/function 中,您可以使用 APEX_ERROR 包来引发错误并阻止提交任何更改。
尝试将此添加到您的代码中,您应该会在调用代码时看到错误消息出现在浏览器中
apex_error.add_error (p_message => 'Test error message',
p_display_location => apex_error.c_inline_in_notification);
P.S。如果您在交互式网格上构建验证,则可以在验证中引用列值,如 :PRODUCT_FAMILY
。
简化。在标准验证中,您可以使用 :COLUMN 语法测试列值,并且可能使用 returns 错误消息的错误类型,而不是布尔值。
IF product_families.product_family_exists(:product_family) THEN
return 'Product family previously exists.';
END IF;
Msg_alert来自哪里?看起来很forms-like.
我已经是使用 Oracle APEX 19 的第 2 周了,我即将完成开发一个允许用户 create/update/delete 产品系列的新手级应用程序。我使用了一个交互式网格,但现在我需要在某个地方创建一个函数(验证?过程?),它调用我在 JDev 中创建的支持包。包中的函数检查 table 以查看该系列是否已经存在。如果是这样,我需要 APEX 在保存后输入 NOT 时立即引发错误。
区域名称为 PF,相关列名为 product_family。 APEX 不处理绑定变量 (:pf),所以我知道语法发生了变化,但我不知道这将如何改变下面的 PL/SQL 函数。
我创建了一个验证 类型:PL/SQL 函数体(RETURN BOOLEAN)
BEGIN
IF product_families.product_family_exists(:pf.product_family) THEN
MSG_ALERT (
'Product family previously exists.'
,'E'
,TRUE
);
END IF;
END;
有谁知道在网格中输入产品系列时立即引发错误的正确语法(如果它已经存在)?请和谢谢。
如果您在被调用的 package/procedure/function 中,您可以使用 APEX_ERROR 包来引发错误并阻止提交任何更改。
尝试将此添加到您的代码中,您应该会在调用代码时看到错误消息出现在浏览器中
apex_error.add_error (p_message => 'Test error message',
p_display_location => apex_error.c_inline_in_notification);
P.S。如果您在交互式网格上构建验证,则可以在验证中引用列值,如 :PRODUCT_FAMILY
。
简化。在标准验证中,您可以使用 :COLUMN 语法测试列值,并且可能使用 returns 错误消息的错误类型,而不是布尔值。
IF product_families.product_family_exists(:product_family) THEN
return 'Product family previously exists.';
END IF;
Msg_alert来自哪里?看起来很forms-like.