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); |
Partager