Для чего нужен RETURN во вложенном блоке процедуры?
Что вернёт в процедуре RETURN, если условие будет верно?
PROCEDURE reload(p_sequence VARCHAR2) IS
BEGIN
DECLARE
lb_is_enabled CHAR (1);
BEGIN
BEGIN
SELECT is_enabled INTO lb_is_enabled
FROM tload
WHERE sequence_name = p_sequence;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;
IF NVL (lb_is_enabled, 'Y') != 'Y'
THEN
RETURN;
END IF;
END;
END;
Или данная конструкция нужна, чтобы просто выйти из вложенного блока?
Ответы (1 шт):
Автор решения: 0xdb
→ Ссылка
В данном случае, RETURN немедленно прекратит выполнение процедуры, включая все блоки BEGIN ... END;, к которым он относится.
The RETURN statement immediately ends the execution of the subprogram or anonymous block that contains it.
Так как процедуры ничего не возвращают, и независимо от результата:
IF <условие> THEN
RETURN;
END IF;
процедура закончится, то этот фрагмент кода бессмыслен и может быть удалён.