OVH Cloud OVH Cloud

[firebird] procedure stockée

3 réponses
Avatar
Manu et Isa
Salut,

J'ai un peit soucis avec une procedure stockée. Ma premiere... Voila,
j'essai de concatener des characteres dans une chaine mais j'obtiens
l'erreur suivante : arithmetique overflow or string truncation.... A priori,
apres un petit coup de debugger, la procedure s'executerais correctement
mais ne se termine pas, il y a donc debordement de la pile...

Voici le code malicieux, une idée ?

SET TERM ##;
CREATE PROCEDURE GET_PERMIS (
MAT INTEGER)
RETURNS (
PERMIS CHAR (10))
AS
DECLARE VARIABLE cc char;
DECLARE VARIABLE i int;
BEGIN
i=0;
Permis='';
FOR SELECT f.motif from qualif q, formation f WHERE q.matricule=:mat and
q.formation=f.cle into cc
DO
BEGIN
if (i=0) then Permis=cc;
else
if (i<10) then
Permis=Permis||cc;
i=i+1;
END
Permis= CAST (Permis AS char(10));
SUSPEND;
EXIT;
END##
SET TERM;##

3 réponses

Avatar
Mooaa
Utilise le serveur : news.vienneinfo.org et cherche le forum Interbase.

Tu seras mieux servi

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
Manu et Isa
Utilise le serveur : news.vienneinfo.org et cherche le forum Interbase.



Merci beaucoup, je ne connaissais pas du tout ce serveur. Je vais tenter ma
chance la bas.

Manu
Avatar
Manu et Isa
La solution a ete donnée. Il fallais renvoyer un Varchar et non un char.
Pourqui pourquoi personne ne sais mais ca marche.

Merci a tous.
Manu