Bonsoir ma procédure compile mais ne produit rien comme résultat.

Il s'afit de creer une procédure qui ouvre un compte bancaire : OuvrirCompte(NumCli in number, Montant in number) Cette procédure crée un nouveau compte pour un client (NumCli) avec un premier solde (Montant) : -NumCompte est attribué automatiquement par une séquence ; -DateOuverture est la date système ; -Montant > 0 ; -PMVR est initialisée à 0 ; -Si le client n’existe pas, il y a erreur.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
CREATE OR REPLACE PROCEDURE OuvrirCompte(NumCli IN NUMBER, Montant in NUMBER)
IS
   	client_inexistant  EXCEPTION;
   PRAGMA EXCEPTION_INIT (	client_inexistant, -2291);
BEGIN
   IF (Montant < 0)
   THEN
      RAISE_APPLICATION_ERROR (-20002, 'the amount must be greater than 0');
   ELSE
      INSERT INTO Compte (NumCompte,
                           NumClient,
                           DateOuverture,
                           Solde,
                           PMVR)
           VALUES (seqCompte.NEXTVAL,
                   NumCli,
                   TO_DATE (sysdate, 'DD.MM.YY'),
                   Montant,
                   0);
   END IF;
EXCEPTION
   WHEN 
   	client_inexistant
   THEN
      DBMS_OUTPUT.PUT_LINE (
         'Client No' || TO_CHAR (NumCli) || ' non-existent');
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.PUT_LINE (
         'Oracle error:' || SQLCODE || '; Oracle message: ' || SQLERRM);
END;
 
 execute OuvrirCompte(101,1600);