使用MySQL函数将记录插入到表中

s5a0g9ez  于 2023-01-01  发布在  Mysql
关注(0)|答案(1)|浏览(162)

我正在尝试使用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有人能帮助我吗?

guicsvcw

guicsvcw1#

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

相关问题