Lorsque j'essaie d'appeler des fonctions définies par l'utilisateur à l'aide de la connexion à distance, cela me donne une erreur.L'appel à distance des fonctions MySql échoue
La chose est requête sans toutes les fonctions fonctionne bien pour la connexion à distance.
Comment puis-je appeler des fonctions à distance.
Requête: select jobcardid,sonno,sonnumber,getSalesOrderCountByStatus('completed',1)as finished,getSalesOrderCountByStatus('pending',sonnumber)as inprocess,getSalesOrderCountByStatus('',1)as total from tblm_jobcard where sonnumber like 'A121';
Fonction:
CREATE [email protected] FUNCTION getSalesOrderCountByStatus(v_status varchar(12), v_salesorderid integer) RETURNS int(11)
READS SQL DATA
BEGIN
DECLARE cnt integer(10);
if(length(v_status)>0) then
select count(1) into cnt from tblm_jobcard where sonno = v_salesorderid and status = v_status;
else
select count(1) into cnt from tblm_jobcard where sonno = v_salesorderid ;
end if;
RETURN cnt;
Lors de la connexion à distance rien ne se passe jusqu'à se planter.
Il est très difficile d'aider à moins que vous nous dire quelle est l'erreur que vous obtenez et nous donner plus de détails sur ce que vous faisiez. –
Donc soit votre fonction est boguée, soit vous essayez d'appeler une procédure stockée et non une fonction en utilisant select. Montrez du code, montrez l'erreur exacte que vous obtenez. – nos
L'utilisateur que vous connectez dispose-t-il du privilège 'EXECUTE'? – Hammerite