我想问是否可以在游标声明上分配变量。
CURSOR cur_name IS <variable_name>
我想要完成的是,在游标中,select 语句的某些 where 子句和 from 子句根据另一个 select 的结果而变化。如下所示:
select count(*) from table_name
v_cnt
where cond1;
如果 v_cnt 为 0,光标将为:
cursor cur_name IS
select * from tab_name1
where cond1;
如果 v_cnt > 0,光标将为:
cursor cur_name IS
select * from tab_name2
where cond1
and cond2;
我想知道是否可以执行 if-else,然后 concat 将分配给光标的选择。
cursor cur_name IS
select * from tab_name
if v_cnt > 0
where cond2;
else
where cond1;
如果您需要更多详细信息,请告诉我。 感谢任何反馈。
最佳答案
为什么不使用类似的东西
select *
from tab_name
WHERE (v_cnt = 0 AND cond1)
OR (v_cnt > 0 AND cond2)
关于sql - oracle游标值根据条件而变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12381010/