Я довольно новичок, когда дело доходит до PL / SQL, и мне нужно изменить чужую хранимую процедуру.
Можно ли добавить оператор if в середине выбора? У меня есть процедура, чтобы попытаться открыть курсор и выбрать в нем кучу вещей из разных таблиц (не спрашивайте меня, почему они не использовали соединение) и вернуть курсор. Я пытаюсь создать две колонки с похожими данными, которые нельзя заполнить одновременно. Поэтому, если один равен нулю, другой должен иметь значение, а для курсора необходимо значение из того, что заполнено. Итак ... если оператор внутри выбора?
Я не буду публиковать реальный код, потому что это заставит ваши глазные яблоки кровоточить, но это выглядит примерно так ...
open rc for
select l.data1 as ld1, l.data2 as ld2, b.data1 as bd1,
b.data2 as bd2, c.data1 as as c_d1, c.data2 as cd2
from tablel l, tableb b, tablec c
where blahblahblah
and c.data1 = [b.data3 if b.data4 is null, else b.data4]?
Я не могу понять синтаксис, если это возможно.