ORACLE中怎么使用exists来判断是否存在记录

这是存储过程中的部分代码:selectcount(1)intovar_countfromjbpm4_hist_varv,jbpm4_hist_tasktwherev.pr... 这是存储过程中的部分代码:
select count(1) into var_count from jbpm4_hist_var v,jbpm4_hist_task t where v.procinstid_=t.execution_ and v.varname_='pkId' and v.value_=(''||tr.purc_report_id) and t.outcome_='作废' and v.procinstid_=tr.procinstid_;
if var_count>=1 then
--进行一些操作
end if;
这是判断表中是否存在记录,在网上找了资料说用exists比count(1)效率好些,是真的么? 那么用extists怎么判断是否存在指定的记录呢? 请高手么指教。。。。
展开
 我来答
开心还亲切灬萨摩
推荐于2017-10-15 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:114
采纳率:100%
帮助的人:87.1万
展开全部
如下:如果t表中的usercode在a表的customerno中存在相等的记录,则t表中的记录被查询出来。
select t.*
from llclaimuser t
where 1 = 1
and exists (select a.customerno from ldperson a where a.customerno = t.usercode);

exists的写法相对比较复杂,而且exists只能判断是否存在,不能返回具体的条数,不能进行相应的循环处理,也不见的比count(1)效率好多少,所以用你这种写法基本就可以了,简单明了,好维护,如果需要还可以根据查询出的记录数进行循环。
ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
renfengjun1986
2014-01-22 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
采纳数:925 获赞数:1553
中国地质调查局特聘数据库专家 CSDN博客专家 百度知道数据库行家 炼数成金版主 想了解更多请关注我的博客:

向TA提问 私信TA
展开全部
你这样就很好了,其他的方法,如果不用count(1),而是简单的查询字段出来,并且这个sql没有结果返回,就会报错ora-01403的,判断起来更麻烦。
至于你说的exists,实在想不出来怎么判断。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aaa1993007
2014-01-22
知道答主
回答量:15
采纳率:0%
帮助的人:8.7万
展开全部
oracle 不存在if exists的判断,现在这个就可以,不用刻意用exists, 你说的exists效率问题是where后面和not in这些比较的吧,不是exists和count的相比。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式