Можно ли в PL\SQL в IF для проверки вставить Select?
Я хочу в проверку условия вставить SELECT который возвращает 1 ячейку со словом "сайт" и проверить, что там именно "сайт" и выполнить код если оно истинно. В примере ниже оно так не работает. (Работаю в Pl\SQL Developer 8.0)
BEGIN
IF (SELECT type
FROM table1
WHERE Partner_name = 'MTS') = 'сайт' THEN
....
....
ELSE
....
....
END IF;
END;
Работает оно только если результат Селекта сначала положить в переменную, а её уже проверять в условии(как в примере ниже), но мне в коде куда одобнее было бы, если можно было просто вставлять селект в условие для проверки. Возможно ли это сделать с селектом?
DECLARE
marketing varchar2(10);
BEGIN
SELECT type
INTO marketing
FROM table1
WHERE Partner_name = 'MTS'
IF marketing = 'сайт' THEN
....
....
ELSE
....
....
END IF;
END;
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Ну вроде бы именно для этого существует EXISTS:
BEGIN
IF EXISTS (SELECT *
FROM table1
WHERE Partner_name = 'MTS' AND type = 'сайт')
BEGIN
....
....
END
ELSE
BEGIN
....
....
END;
END;
Я так то в SQL не силён, возможно в вашем конкретном диалекте это пишется по-другому.
