0
一位同事(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;
我沒有專家,但在表面看來,這似乎沒問題。任何人都可以建議嗎?
有沒有其他方法可以嘗試?並進一步建議如何調試呢?
我看不出什麼錯。觸發器肯定是射擊嗎?例如如果你改變它做':new.url5:='xxx';'是否會發生? –
@託尼安德魯斯:對不起,我趕緊發佈這個;是的,我的同事已經嘗試過了 - URL被設置爲他指定的字面值,這似乎表明觸發器正在觸發。 – CJM
'QUOTATION_NO ='G1002387''是否有一排? –