Я использую Oracle 18 c и Apex 19.1. Я пытаюсь создать процесс проверки страницы в APEX. У меня есть 4 авторских поля, каждое с именем и фамилией, всего 8 полей, связанных с автором. Я бы хотел запретить пользователю вводить только фамилию и оставлять имя пустым. Я надеюсь, что смогу поместить проверку четырех полей в один процесс проверки. Я создал процесс как тип PL / SQL Тело функции (возвращающее логическое значение) . Я использую следующий код:
BEGIN
IF :P133_AUTHOR1_LAST_NAME is not null AND :P133_AUTHOR1_FIRST_NAME IS NULL
THEN
:P133_AUTHOR_ERROR_MSG := 'Author1 LAST name is populated but the FIRST ' ||
'name is blank. Please populate both names for a given author.';
RETURN FALSE;
ELSIF :133_AUTHOR2_LAST_NAME is not null AND :P133_AUTHOR2_FIRST_NAME IS NULL
THEN
:P133_AUTHOR_ERROR_MSG := 'Author2LAST name is populated but the FIRST ' ||
'name is blank. Please populate both names for a given author.';
RETURN FALSE;
ELSIF :133_AUTHOR3_LAST_NAME is not null AND :P133_AUTHOR3_FIRST_NAME IS NULL
THEN
:P133_AUTHOR_ERROR_MSG := 'Author3LAST name is populated but the FIRST ' ||
'name is blank. Please populate both names for a given author.';
RETURN FALSE;
ELSIF :133_AUTHOR4_LAST_NAME is not null AND :P133_AUTHOR4_FIRST_NAME IS NULL
THEN
:P133_AUTHOR_ERROR_MSG := 'Author4LAST name is populated but the FIRST ' ||
'name is blank. Please populate both names for a given author.';
RETURN FALSE;
ELSE
RETURN TRUE;
END IF;
END;
Он проверяет первый If / Then и показывает текст в Сообщение об ошибке , когда это необходимо. Однако код игнорирует оставшиеся 3 оператора ELSIF. Как мне сконструировать операторы IF / Then / ElsIf, чтобы они при необходимости возвращались в состояние ЛОЖЬ?