1

我有一个触发器:

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 消息?

4

1 回答 1

3

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

于 2013-04-04T06:20:52.677 回答