我正在尝试使用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。2但是,当尝试在查询中使用它作为内联函数时,它返回OK。3我无法找出原因。4有人能帮助我吗?
1条答案
按热度按时间guicsvcw1#
使用的查询是正确的,但问题是某个字段返回了重复值。这导致查询返回OK作为结果。添加了一些条件以选择不同的记录,之后解决了此问题。