24号24秒

导航

 

问题:

declare aaa integer;email varchar2(100) :='1234@aa.com';
begin
select count(*) into aaa from dual where exists (select 1 from user_account where EMail=email);
--aaa:=123;
dbms_output.put_line(aaa);
end;

查询出来总是1,就是总是有数据,不管表里面是否有‘1234@aa.com’

折磨了一上午时间,终于找到问题所在。

问题原因:where条件email=email 因为oracle中不区分大小写,所以查询条件是列名=列名。

解决方法:将变量email改为 email_123(随意起名)即可。

感谢 https://blog.csdn.net/u013244530/article/details/52869662

posted on 2018-09-11 11:17  24号24秒  阅读(100)  评论(0编辑  收藏  举报