【问题标题】:Showing Trigger DBMS_OUTPUT.PUT_LINE in Oracle Apex在 Oracle Apex 中显示触发器 DBMS_OUTPUT.PUT_LINE
【发布时间】:2013-03-26 02:08:01
【问题描述】:

我有一个触发器:

CREATE OR REPLACE TRIGGER Med_Allergy_Warning BEFORE INSERT ON Prescription FOR EACH ROW
BEGIN
    IF (Find_ADR(:NEW.Visit_ID, :NEW.Medication_ID) != 'GOOOO') THEN
        DBMS_OUTPUT.PUT_LINE('Medication ('||:NEW.Medication_ID||') May cause an allergic reaction… You are warned!');
    ELSE
        DBMS_OUTPUT.PUT_LINE('Medication ('||:NEW.Medication_ID||') was prescribed successfully!');
END IF;
END;/

只要用户输入可能引起过敏反应的处方,就会输出 DBMS_OUTPUT.PUT_LINE。但是,用户在 APEX 中创建条目 - 是否可以创建一个区域以在同一页面上显示此 DBMS_OUTPUT.PUT_LINE 消息?

【问题讨论】:

  • 请告诉我这段代码不会进入任何真正的医疗应用程序!

标签: sql oracle plsql triggers dbms-output


【解决方案1】:

理论上,您应该能够调用DBMS_OUTPUT.GET_LINE 来获取您的APEX 代码中的数据并显示出来。但是,构建依赖于写入DBMS_OUTPUT 的应用程序功能是一种糟糕的方法。如果您想记录有关潜在过敏反应的信息,您真的应该将其记录到您的 APEX 应用程序随后可以报告的表中。希望无论应用程序出现什么问题,INSERT 都启用了DBMS_OUTPUT,更不用说为输出分配了足够大的缓冲区,更不用说碰巧记住从缓冲区中读取并将其显示给人类是一个非常糟糕的主意。

【讨论】:

    猜你喜欢
    • 2015-03-26
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多