0
(OracleとのPL/SQLスキルが限定されていますが)同僚が(Oracleベースの)ERPシステムのバックエンドをトリガーとして作成しようとしています。彼は次のサンプルで私の問題を単純化しました。要するにPL/SQLトリガーのSELECTステートメントがNULLを戻します
は、彼が期待される結果をレンダリングするselect文を持っています
SELECT TO_CHAR(MAX(
RESULT_KEY))
FROM IFSINFO.QUOTATION_REPORTS
WHERE QUOTATION_NO = 'G1002387'
...しかし、トリガーに含まれるあるnullを返すように表示されます。
CREATE OR REPLACE TRIGGER VMO_QUOTATION_LINK
BEFORE INSERT OR UPDATE
ON VMO_OPPORTUNITY_LINE
FOR EACH ROW
DECLARE
QuotationLink VARCHAR2(255);
BEGIN
SELECT TO_CHAR(MAX(RESULT_KEY))
INTO QuotationLink
FROM IFSINFO.QUOTATION_REPORTS
WHERE QUOTATION_NO = 'G1002387';
:NEW.URL5 := QuotationLink;
END;
私は専門家はいませんが、それに直面してもOKです。誰も助言することはできますか?
私は試してみることのできる代替アプローチがありますか?これをデバッグする方法についてさらに提案しますか?
私は何も間違って見ることができません。トリガーは確実に発射されていますか?例えばそれを変更すると ':new.url5:= 'xxx';'それは起こりますか? –
@トニーアンドリュース:申し訳ありませんが、私はこれを掲載するために急いでいました。はい、私の同僚は既にこれを試していました。URLは指定されたリテラルに設定されていました。トリガーが発砲しているようです。 – CJM
'QUOTATION_NO = 'G1002387''の行がありますか? –