Академический Документы
Профессиональный Документы
Культура Документы
5--Mthode nbSignataire qui renvoie le nombre de signataire dun compte courant donn.
ALTER TYPE cptCourant_type
ADD MEMBER FUNCTION nbSignataire RETURN NUMBER CASCADE;
CREATE OR REPLACE TYPE BODY cptCourant_type
AS MEMBER FUNCTION nbSignataire RETURN NUMBER Is
nb_sign NUMBER;
BEGIN
SELECT COUNT(DISTINCT(ant.num)) INTO nb_sign
FROM TABLE (SELECT cou.signataire_nt
FROM cptCourant cou WHERE cou.nCompte = SELF.nCompte) ant;
RETURN nb_sign;
END nbSignataire;
END;
/
6--Mthode estTitulaire
ALTER TYPE cptCourant_type
ADD MEMBER FUNCTION estTitulaire(cli IN NUMBER) RETURN BOOLEAN
CASCADE;
CREATE OR REPLACE TYPE BODY cptCourant_type AS
MEMBER FUNCTION estTitulaire(cli IN NUMBER) RETURN BOOLEAN IS
resultat NUMBER := 0;
BEGIN
SELECT COUNT(*) INTO resultat FROM cptCourant cou
WHERE cou.ref_Client.num = cli
AND cou.nCompte = SELF.nCompte;
IF (resultat = 1) THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END estTitulaire;
END;
/
********Testons la fonction*****************
SQL>SELECT cli.num, cli.nbCepargne() FROM Client cli;
********Testons la procedure*****************
SQL> SELECT * FROM Client WHERE num = 1;
SQL> EXECUTE change_Portable(1, '06-07-08-09-10');
Procdure PL/SQL termine avec succs.
SQL> SELECT * FROM Client WHERE num = 1;
********Testons la vue*****************
SELECT a.num, a.nom, a.adresse, a.tel
FROM Client_VOR a
ORDER BY 2;