【发布时间】:2016-03-05 15:17:31
【问题描述】:
我有一个存储过程,其中有一个if 语句,其中foto_id 是integer,datums 是date 类型:
if((select count(*) from (select pv.Datums, pv.Fotografs from pieteikumi_view pv
where pv.Fotografs=foto_id and pv.Datums=datums)as tab) = 0) then
select 3;
else
select -2;
当我在程序外用完全相同的值测试它时,就像这样调用程序时:
select count(*) from (select pv.Datums, pv.Fotografs from pieteikumi_view pv
where pv.Fotografs='9' and pv.Datums='2016-01-01')as tab;
我得到了想要的结果,但是在过程内部if 语句返回true,即使这个select 语句返回行数。
我会很高兴任何指出我做错了什么的指针......
附:这些信息是否足够,还是我需要提供完整的过程和表格信息?
【问题讨论】:
-
使用 SELECT EXISTS。
标签: mysql select stored-procedures