QUERY сам объясняет.Query Blocks с SELECT INTO
DECLARE
ID NUMBER (10);
ISFIRST NUMBER (1);
BEGIN
SELECT M.ID, M.ISFIRST
INTO ID, ISFIRST
FROM MERCHANT M
WHERE M.PHONE = :1;
IF (ISFIRST=1) THEN
SELECT * FROM CUSTOMER C WHERE C.ISFIRST=1 AND C.MERCHANTID = ID;
ELSE
SELECT * FROM CUSTOMER C WHERE C.ISFIRST=0 AND C.MERCHANTID = ID;
END IF;
END;
Этот запрос дает мне "PLS-00428: клаузула INTO, как ожидается, в этом ЗЕЬЕСТ". Мне нужно выбрать данные из таблицы CUSTOMER в зависимости от MERCHANT.ISFIRST и MERCHANT.ID. Любое обходное решение или небольшое объяснение, что пошло не так, было бы оценено.
PS: Проблема решена с помощью оператора UNION ALL. Этот вопрос нужно закрыть.
Почему не просто иметь 'WHERE C.ISFIRST = ISFIRST'? – Gabe
Здесь нет необходимости ОБРАТИТЬ Ваши вопросы. Кроме того, не помещайте информацию о теге в свой заголовок. Система маркировки здесь очень хороша в классификации вещей и не нуждается в помощи. :-) Пожалуйста, см. [Если вопросы включают «теги» в их названиях?] (Http://meta.stackexchange.com/q/19190/172661). Благодарю. –