我正在尝试使用MySQL函数将记录插入永久表。我的SQL函数代码与此类似: -
delimiter //
create function fn_eval
(
a varchar(36),
b int,
c varchar(36)
)
returns bigint deterministic
begin
declare retvalue int default 0;
insert into eval_tbl(a,b,c,d)
select a,b,c,d
from
((select a,b,c,d from eval_tbl_1
inner join eval_tbl_2)
ON eval_tbl_1.c = eval_tbl_2.c)
)
SET retvalue=1;
return retvalue;
end //
delimiter ;
试图调用该函数时:
select fn_eval ('1', 2, '3') from dual;
它返回1.但是,在尝试将其用作查询中的内联函数时,它返回OK。我无法弄清楚原因。有人可以帮我吗?
答案 0 :(得分:0)
使用的查询是正确的,但是,问题是有某个字段返回重复值。这导致查询返回OK作为结果。添加了一些条件来选择不同的记录,然后解决了这个问题。