OVH Cloud OVH Cloud

utilisation de Stored Procedure avec des param's en output

1 réponse
Avatar
De Mortagne
Bonjour =E0 vous tous,
j'ai un petit probl=E8me avec une proc=E9dure stock=E9e....

ma proc=E9dure comporte trois niveau.
la premi=E8re qui call pour toutes les lignes du curseur une=20
autre proc=E9dure avec certains params.

le deuxi=E8me niveau comporte une proc=E9dure qui elle me=20
retourne des valeurs.

c'est dans se niveau que j'ai un probl=E8me....
si je fais cela :
CREATE PROCEDURE spUpdate_uni_Planification_2
@CODE char(2),
@par1 char(4) OUTPUT,
@par2 char(1) OUTPUT

AS

SELECT @par1 =3D CASE SUBSTRING(@CODE, 2, 2)
WHEN '1' THEN 'Nuit'
WHEN '2' THEN 'Jour'
WHEN '3' THEN 'Soir'
ELSE 'Jour'
END
....

il n'y a pas de probl=E8me...

mais lorsque je fais :
SELECT @par1 =3D CodeReleve FROM as_CodeAssignation WHERE=20
CodeAssignation=3D@CODE

le retour de @par1 et @par2, sont toujours <null>

j'ai essay=E9 de passer le tout avec un cursur... et ca ne=20
marche pas plus...

merci de votre aide.
S=E9bastien
que faire ???

1 réponse

Avatar
Mortagne
On devait juste déclarer mes deux variables de retour dans
le deuxième niveau.

merci
Sébastien
-----Message d'origine-----
Bonjour à vous tous,
j'ai un petit problème avec une procédure stockée....

ma procédure comporte trois niveau.
la première qui call pour toutes les lignes du curseur


une
autre procédure avec certains params.

le deuxième niveau comporte une procédure qui elle me
retourne des valeurs.

c'est dans se niveau que j'ai un problème....
si je fais cela :
CREATE PROCEDURE spUpdate_uni_Planification_2
@CODE char(2),
@par1 char(4) OUTPUT,
@par2 char(1) OUTPUT

AS

SELECT @par1 = CASE SUBSTRING(@CODE, 2, 2)
WHEN '1' THEN 'Nuit'
WHEN '2' THEN 'Jour'
WHEN '3' THEN 'Soir'
ELSE 'Jour'
END
.....

il n'y a pas de problème...

mais lorsque je fais :
SELECT @par1 = CodeReleve FROM as_CodeAssignation WHERE
CodeAssignation=@CODE

le retour de @par1 et @par2, sont toujours <null>

j'ai essayé de passer le tout avec un cursur... et ca ne
marche pas plus...

merci de votre aide.
Sébastien
que faire ???
.