Коллега (с ограниченными навыками PL / SQL, чтобы соответствовать моему!) Пытается создать триггерный бэкэнд (основанной на Oracle) ERP-системы. Он упростил мне задачу с помощью следующих примеров.
Короче говоря, у него есть оператор выбора, который отображает ожидаемый результат:
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;
Я не эксперт, но на первый взгляд кажется, что все в порядке. Кто-нибудь может посоветовать?
Есть ли альтернативный подход, который я могу попробовать? И дальнейшие предложения о том, как это отладить?