У меня есть процедура с входным параметром p_card_type. Предложение where изменяется в зависимости от входного параметра. Вот как выглядит запрос. У меня есть 4 разных варианта, и все они выходят из строя.
SELECT * FROM table WHERE CARD_TYPE in (p_card_type)
- Вот 4 варианта, которые я пробовал.
SELECT * FROM table WHERE
- Case p_card_type when 'EGC/VEGC' THEN CARD_TYPE in ('EGC', 'VEGC') else CARD_TYPE in (p_card_type) End
- Case WHEN p_card_type = 'EGC/VEGC' THEN CARD_TYPE in ('EGC', 'VEGC') else CARD_TYPE in (p_card_type) End
- CARD_TYPE in Case WHEN p_card_type = 'EGC/VEGC' THEN ('EGC', 'VEGC') else (p_card_type) End
- CARD_TYPE in Case p_card_type WHEN 'EGC/VEGC' THEN ('EGC', 'VEGC') else (p_card_type) End
Я получаю ошибку ORA-06550: PL / SQL: ORA-00905: отсутствует ключевое слово ORA-06550: PL / SQL: Заявление SQL игнорируется
Был бы очень признателен за любую помощь в этом. Большое спасибо.