J'ai IB 6.01 OpenSource (Delphi 7 Pro sur WinXP Pro).

Ma base de données comporte quelques Procédures Stockées.
Je compile ces PS en exécutant les commandes dans un TIBSQL (issu des IBX Delphi).

Or, lorsque j'essaie de compiler la PS suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
CREATE PROCEDURE PS_MONTEST (IN_COMPTE INTEGER) RETURNS (OUT_DISPO NUMERIC(10,2)) AS
  DECLARE VARIABLE CODE_DEV INTEGER;
  DECLARE VARIABLE MNT_SUMSOLDES NUMERIC(10,2);
BEGIN
  SELECT MNT_SOLDE,CODE_DEVISE FROM TA_COMPTE WHERE CODE_COMPTE=:IN_COMPTE INTO OUT_DISPO,CODE_DEV;
  SELECT SUM(MNT_SOLDE) FROM TA_COMPTE WHERE CODE_DEVISE=:CODE_DEV AND CODE_COMPTEPERE=:IN_COMPTE INTO MNT_SUMSOLDES;
  IF (MNT_SUMSOLDES IS NOT NULL) THEN OUT_DISPO=OUT_DISPO+MNT_SUMSOLDES;
  SUSPEND;
END;
... j'obtiens le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
invalid request BLR at offset 173
bad parameter number
J'ai constaté qu'en retirant la ligne 6 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
/*SELECT SUM(MNT_SOLDE) FROM TA_COMPTE WHERE CODE_DEVISE=:CODE_DEV AND CODE_COMPTEPERE=:IN_COMPTE INTO MNT_SUMSOLDES;*/
... la PS se compile sans souci

De plus, lorsque j'exécute la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT SUM(MNT_SOLDE) FROM TA_COMPTE WHERE CODE_DEVISE=-211 AND CODE_COMPTEPERE=13
Tout baigne 8) Ce n'est donc pas un problème de champs qui n'existent pas.