我想问一下是否可以在游标声明中分配一个变量。oracle游标值根据条件的不同而不同
CURSOR cur_name IS <variable_name>
我想完成的是在游标中where子句的某些部分和select语句的from子句根据另一个select的结果而变化。如下图所示:
select count(*) from table_name
v_cnt
where cond1;
IF V_CNT为0时,光标会:
cursor cur_name IS
select * from tab_name1
where cond1;
IF V_CNT> 0时,光标会:
cursor cur_name IS
select * from tab_name2
where cond1
and cond2;
我在想,如果我能做到的if-else,然后对将在游标上分配的select进行concat。
cursor cur_name IS
select * from tab_name
if v_cnt > 0
where cond2;
else
where cond1;
让我知道你是否需要更多的细节。 欣赏任何反馈。
对不起,我认为我超级简化了我的示例...某些条件和表格也会根据v_cnt值进行不同的配置。所以我希望我可以将选择分配给一个变量,并附加任何代码行。 – mysticfalls