【问题标题】:How to output a warning message to the user in APEX如何在 APEX 中向用户输出警告消息
【发布时间】:2015-10-03 00:48:51
【问题描述】:

我目前正在将一个包含 APEX 数据加载向导期间值的 CSV 文件上传到下表中。触发器在 Table1 上的每次更新之前运行,但努力向用户显示 htp 输出。任何人都知道如何在 APEX 中执行此操作?

表 1 (CSV)

手机地址产品cmets

12312131,50 long street,Product1,null

1231231,14 blah place,Product2,comment4

触发器

create or replace trigger "TABLE1_T1"
BEFORE
 update on "TABLE1"
 for each row
  begin

    if :old.comments is not null then
     htp.prn ('Warning: ' || :new.comments || ' will replace ' ||    
     :old.comments);
    end if;
  end;

【问题讨论】:

  • 您最好将 CSV 数据上传到临时保存表,然后创建上传后流程来运行验证,然后进行更新。

标签: sql oracle plsql oracle-apex


【解决方案1】:

您不能从触发器打印消息。您可以进行验证,但这更像是错误而不是警告,因此您无法继续该过程。

或者您可以在before page submit 上添加一个动态操作,该操作将弹出确认消息,如果用户按下OK,该过程将继续。

【讨论】:

  • 谢谢。你会怎么做?我刚刚尝试过,但失败了。一直在为此疯狂搜索
【解决方案2】:

您可以尝试使用 APEX_ERROR

begin
 if :old.comments is not null then
   APEX_ERROR.ADD_ERROR (
   p_message          => 'Warning: ' || :new.comments || ' will replace ' ||    
         :old.comments',
   p_additional_info  => SQLERRM,
   p_display_location => apex_error.c_inline_in_notification);
  end if;
end;

来自https://docs.oracle.com/html/E28475_02/apex_error.htm

【讨论】:

  • 谢谢,但我究竟应该在数据加载页面中添加什么?我需要在最后一页上创建一个新区域和一个经典报告并将其粘贴到那里吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多