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 に答える