Я хочу сохранить функцию, например, так:
create function myFunction (someSwitch boolean)
return ...
is
cursor myCursor (params) is
[BIG QUERY];
...
Где BIG QUERY
может иметь дополнительное предложение WHERE
, если someSwitch
- true.
Можно ли это сделать в пределах определения курсора и, если да, то как? В противном случае, какие будут мои варианты: я думаю, что я мог бы либо создать два курсора (один с дополнительным предложением, другой без), а затем выполнить логику в теле функции. Я не очень удовлетворен этим подходом, так как запрос очень большой, и я бы хотел избежать повторения кода. В качестве альтернативы, я мог бы динамически создавать курсор SQL; но это повлечет за собой снижение производительности, верно?
Спасибо:)