问题描述
问题:
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 (将#修改为@)