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
| create or replace PROCEDURE SELECTABONNES
/*vérification de l'existence/insertion d'un abonné GIP dans la base*/
(
nom XABO.NOMABO%type,
prenom XABO.PNOMABO%type,
telephone XABO.TELABO%type,
libelleService XSCE.LBLSCE%type
)
As
abo XABO.NUMABO%type;
/*recherche/création du service auquel appartient l'abonné*/
service XABO.SCEABO%type := TAX.SELECTSERVICE(libelleService);
BEGIN
/*recherche de l'abonné passé en parametre dans la base*/
/*si il existe on ne fait rien*/
SELECT NUMABO
INTO abo
FROM XABO
WHERE NOMABO = nom
AND PNOMABO = NVL(prenom,PNOMABO )
AND SCEABO = service;
EXCEPTION
/*abonné non trouvé, on le créé*/
WHEN no_data_found THEN
BEGIN
/*Insertion de l'abonné*/
INSERT INTO XABO (NUMABO, NOMABO, PNOMABO, TELABO, SCEABO)
VALUES (sequenceabo.nextval, nom, prenom, telephone, service );
END;
END SELECTABONNES; |
Partager