1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| SET TERM ^ ;
CREATE PROCEDURE PS_ABH_STATION_RELEVAGE (
n_unite varchar(20))
returns (
nom_unite varchar(20),
nom_commune varchar(30),
nom_sr varchar(29),
localisation_sr varchar(30),
x_utm bigint,
y_utm bigint,
volume_mj float
Nb_P Smallint)
AS
declare variable nbr_pompe smallint
BEGIN
FOR
SELECT
tb_unite.nom_unite,
tb_commune.nom_commune,
tb_sr.nom_sr,
tb_sr.localisation_sr,
tb_sr.x_utm,
tb_sr.y_utm,
tb_sr.nbr_pompe,
/* nb_p n'est pas reconnu car faisant pas partie de la table */
((tb_sr.debit_nominal*(nb_p))*86.4) volume_mj
FROM tb_sr
INNER JOIN tb_unite ON (tb_sr.code_unite = tb_unite.code_unite)
INNER JOIN tb_commune ON (tb_sr.code_commune = tb_commune.code_commune)
WHERE nom_unite = upper((:n_unite))
INTO :NOM_UNITE,
:NOM_COMMUNE,
:NOM_SR,
:LOCALISATION_SR,
:X_UTM,
:Y_UTM,
:nbr_pompe,
:VOLUME_MJ
DO
BEGIN
/* l'erreur est ici */
nb_p = nbr_pompe-1;
IF (nb_p = 1) then nb_p = 1;
suspend;
END
END^
SET TERM ; ^ |
Partager