Bonjour,

je travaille actuellement sur une migration de base de données Oracle vers Postgresql.

Je possède un problème sur les paramètres OUT des procédures, lors de multiples appels.

Exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
procedure1 (OUT param1, OUT param2)
La procedure1 appelle la procédure procedure2

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
procedure2 (OUT param1bis, OUT param2bis)
Les paramètres param1 et param2 vont prendre les valeurs respectives param1bis et param2bis après l'appel de procedure2 depuis procedure1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
CREATE PROCEDURE  procedure1 (OUT param1, OUT param2)
  RETURNS record AS
$BODY$
DECLARE
      uneVariableQuOnUtilisePas text;
 
BEGIN
 
      select param1bis, param2bis INTO param1, param2 FROM procedure2();
 
END;    
$BODY$
  LANGUAGE plpgsql VOLATILE
C'est ici que le problème se pose

param1 ne change pas de valeur après l'appel, pourtant l'affectation vers param1bis est bien effectuée (cf. code ci-dessus).
Même problème pour param2

Quelle démarche faut-il adopter pour résoudre ce problème ?

Merci.