我想要一个像这样的存储函数:
create function myFunction (someSwitch boolean)
return ...
is
cursor myCursor (params) is
[BIG QUERY];
...
如果BIG QUERY
为真,WHERE
可以有额外的someSwitch
子句。
这可以在游标定义中完成,如果是,如何?否则,我的选择是什么:我认为我可以创建两个游标(一个带有额外子句,另一个没有)然后在函数体中执行逻辑。我对这种方法不是很满意,因为查询非常大,我想避免重复代码。或者,我可以动态创建游标SQL;但这会导致性能下降,对吗?
谢谢:)
答案 0 :(得分:4)
您可以这样添加地点:
where (some_condition or the_other_conditions)
AFAIK oracle将执行快捷方式OR
。那就是:如果some_condition为true,则不会评估the_ohter_condition(并且,无论如何,这并不重要)。