救命啊,涵数中的COUNT执行问题!

aquaqu2009 2014-03-18 09:49:15


CREATE OR REPLACE FUNCTION test(aquid INT,aquname VARCHAR2,aqubz VARCHAR2) RETURN INT
IS
re int;
BEGIN
SELECT COUNT(1) into re FROM aqu WHERE aquid=aquid;

RETURN re;
END;

aqu表中有数据3768条!
当我执行 select id,name,test(id,name,bz) total from killAqu where name='比比三九';
时结果为3768条,正确数应该为81条才对!
这是哪写错了,迷茫呃!
换成:
execute immediate strsql into re;
这要瓣写法就能返回正确数据!救救我这个菜鸟吧,大大们!
...全文
132 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
马了个克的。
善若止水 2014-03-19
  • 打赏
  • 举报
回复
引用 3 楼 sych888 的回复:
SELECT COUNT(1) into re FROM aqu WHERE aquid=aquid; 参数名最好不要和列名一样,容易出问题
很是支持,以前我就遇到过这样的情况。
fan206 2014-03-18
  • 打赏
  • 举报
回复
帮顶,等大牛解决
流浪川 2014-03-18
  • 打赏
  • 举报
回复
引用 3 楼 sych888 的回复:
SELECT COUNT(1) into re FROM aqu WHERE aquid=aquid; 参数名最好不要和列名一样,容易出问题
正解,变量名不要与字段用相同的名字。。
sych888 2014-03-18
  • 打赏
  • 举报
回复
SELECT COUNT(1) into re FROM aqu WHERE aquid=aquid; 参数名最好不要和列名一样,容易出问题
流浪川 2014-03-18
  • 打赏
  • 举报
回复
引用 楼主 aquaqu2009 的回复:

CREATE OR REPLACE FUNCTION test(aquid INT,aquname VARCHAR2,aqubz VARCHAR2) RETURN INT 
IS
    re int;
BEGIN
SELECT COUNT(1) into re FROM aqu  WHERE aquid=aquid;

RETURN re;
END;
aqu表中有数据3768条! 当我执行 select id,name,test(id,name,bz) total from killAqu where name='比比三九'; 时结果为3768条,正确数应该为81条才对! 这是哪写错了,迷茫呃! 换成: execute immediate strsql into re; 这要瓣写法就能返回正确数据!救救我这个菜鸟吧,大大们!
select id,name,test(id,name,bz) total from killAqu where name='比比三九' AND EXISTS(
 SELECT 1 FROM aqu WHERE squ.aquid=killAqu.ID)
外面需要增加过滤条件。。
CT_LXL 2014-03-18
  • 打赏
  • 举报
回复
引用 楼主 aquaqu2009 的回复:

CREATE OR REPLACE FUNCTION test(aquid INT,aquname VARCHAR2,aqubz VARCHAR2) RETURN INT 
IS
    re int;
BEGIN
SELECT COUNT(1) into re FROM aqu  WHERE aquid=aquid;

RETURN re;
END;
aqu表中有数据3768条! 当我执行 select id,name,test(id,name,bz) total from killAqu where name='比比三九'; 时结果为3768条,正确数应该为81条才对! 这是哪写错了,迷茫呃! 换成: execute immediate strsql into re; 这要瓣写法就能返回正确数据!救救我这个菜鸟吧,大大们!
select id,name,test(id,name,bz) total from killAqu where name='比比三九' 返回的是killAqu中的数据啊,和test没关系啊,TEST每次都固定返回一条数据啊

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧