使用MySQL函数将记录插入表

使用MySQL函数将记录插入表,mysql,function,sql-insert,Mysql,Function,Sql Insert,我正在尝试使用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

我正在尝试使用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。我想不出原因。有人能帮我一下吗?

使用的查询是正确的,但问题是某个字段返回了重复的值。这导致查询结果返回OK。添加了一些条件以选择不同的记录,然后解决了此问题。

您如何尝试使用它?我尝试以以下格式使用它:-选择fn_eval(a,b,c),a from eval_tbl_a;