减少上下文切换

问题描述

问题:

Oracle SQL-我有2个选择查询(说SQ1和SQ2)。 SQ1和SQ2都选择一个ID值,但是具有不同的联接条件,差异表和where条件。

方案1:如果SQ1返回1行,请使用select语句的结果对表进行更新。 如果SQ1返回0行或多于1行,则控制应转到方案2。

方案2:如果SQ2返回1行,请使用SQ2语句的结果对表进行更新。 如果SQ2返回0或> 1,则调用另一个打包过程。

如何将最少的上下文切换到数据库?

我的编码方式:

select count(*) into v_count from table; ---SQ1
case if v_count=1 ...then do this...
Else
  select count(*) into v_count2 from table; ---SQ2  
     --2nd case starts here
     case if 
         v_count2=1 ...then do this...
         else call package.procedure. 
     end case;
end case;

要求

对数据库的最小调用。减少上下文切换。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)