J'essaie d'utiliser une fonction MySQL pour insérer des enregistrements dans une table permanente. Mon code de fonction SQL est similaire à ceci: -Utiliser une fonction MySQL pour insérer des enregistrements dans une table
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 ;
En essayant d'appeler la fonction:
select fn_eval ('1', 2, '3') from dual;
retourne 1. Cependant, à essayer d'utiliser cela comme une fonction en ligne dans une requête, ça revient OK. Je ne suis pas capable de comprendre la raison de cela. Quelqu'un peut-il m'aider à ce sujet?
Comment essayez-vous de l'utiliser? –
J'essaie de l'utiliser dans le format suivant: - sélectionnez fn_eval (a, b, c), a de eval_tbl_a; – Annie