В моем PL / SQL-скрипте у меня есть следующий код:
BEGIN
SELECT *
INTO GENERIC_DETAIL_rec
FROM GENERIC_DETAIL
WHERE PARAMETER_TYPE = 'IDDOC'
AND TRIM(GENERIC_DETAIL.SHORT_DESCRIPTION) = TRIM(I.MOF_IDDOC_TYPE)
AND GENERIC_DETAIL.ENTRY_STATUS = '1';
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.put_line('NO DATA!!');
END;
IF (GENERIC_DETAIL_rec.SHORT_DESCRIPTION IS NULL ) OR (I.MOF_IDDOC_TYPE IS NULL) THEN
UPDATE MOF_INACCREG_REQ
SET PRFT_RESULT_CODE = '60'
WHERE MOF_INACCREG_REQ.MOF_REQUEST_ID = I.MOF_REQUEST_ID;
ELSE --do something else
Все, что я хочу сделать, это выяснить, является ли поле I.MOF_IDDOC_TYPE
пустым или его значение не соответствует ни одному иззначения GENERIC_DETAIL.SHORT_DESCRIPTION
.
Второе условие для пустого поля работает нормально, поэтому оно фиксирует обновление ниже.
Моя проблема - первое условие. Если значение I.MOF_IDDOC_TYPE
не содержится в GENERIC_DETAIL.SHORT_DESCRIPTION
, условие ложно и оно не фиксирует обновление.
Есть идеи?Заранее спасибо.