Bonjour,

Je dois creer un ficheir de commandes pl/sql qui permet de mettre dans la table Produit les valeur du produit mais j'ai un petit problème

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
CREATE OR REPLACE PROCEDURE MAJ_PRODUIT(
 vID_PRODUIT                    PRODUIT.ID_PRODUIT%TYPE,
 vID_TYPE_P                     PRODUIT.ID_TYPE_P%TYPE,
 vID_DEPARTEMENT                PRODUIT.ID_DEPARTEMENT%TYPE,
 vID_CATEGORIE_PROD             PRODUIT.ID_CATEGORIE_PROD%TYPE,
 vLIBELLE_PRODUIT               PRODUIT.LIBELLE_PRODUIT%TYPE,
 vCONTRIBUTION_LIBRE_PERMISE    PRODUIT.CONTRIBUTION_LIBRE_PERMISE%TYPE,
 vFREQUENCE_CONTRIBUTIONS       PRODUIT.FREQUENCE_CONTRIBUTIONS%TYPE,
 vCAPITAL_MAXIMAL_ASSURE        PRODUIT.CAPITAL_MAXIMAL_ASSURE%TYPE,
 vCAPITAL_MINIMAL_ASSURE        PRODUIT.CAPITAL_MINIMAL_ASSURE%TYPE,
 vAGE_SORTIE                    PRODUIT.AGE_SORTIE%TYPE,
 vAGE_MAXIMUM                   PRODUIT.AGE_MAXIMUM%TYPE,
 vAGE_MINIMUM_                  PRODUIT.AGE_MINIMUM_%TYPE,
 vREASSURANCE                   PRODUIT.REASSURANCE%TYPE,
 vCOASSURANCE                   PRODUIT.COASSURANCE%TYPE,
 vCONTRIBUTION_MINIMAL          PRODUIT.CONTRIBUTION_MINIMAL%TYPE,
 vCONTRIBUTION_MAXIMAL          PRODUIT.CONTRIBUTION_MAXIMAL%TYPE,
 
 
  errMessage Out         Varchar2,
  IdRetour   Out         Number
 )
 
 
IS
 
 
NumProduit           Number; 
 
 
begin
 
  errMessage:=' ';
 
      SELECT NVL(MAX(ID_PRODUIT),0) + 1
      INTO NumProduit
      FROM PRODUIT;
 
      INSERT INTO PRODUIT 
           (
 
           ID_PRODUIT,
           ID_TYPE_P,
    ID_DEPARTEMENT,
    ID_CATEGORIE_PROD,
    LIBELLE_PRODUIT,
    CONTRIBUTION_LIBRE_PERMISE,
    FREQUENCE_CONTRIBUTIONS,
    CAPITAL_MAXIMAL_ASSURE,
    CAPITAL_MINIMAL_ASSURE,
    AGE_SORTIE,
    AGE_MAXIMUM,
    AGE_MINIMUM_,
    REASSURANCE,
    COASSURANCE,
    CONTRIBUTION_MINIMAL,
    CONTRIBUTION_MAXIMAL   
 
 
 
           )
        VALUES
           ( 
           NumProduit, 
           vID_TYPE_P,
    vID_DEPARTEMENT,
    vID_CATEGORIE_PROD,
    vLIBELLE_PRODUIT,
    vCONTRIBUTION_LIBRE_PERMISE,
    vFREQUENCE_CONTRIBUTIONS,
    vCAPITAL_MAXIMAL_ASSURE,
    vCAPITAL_MINIMAL_ASSURE,
    vAGE_SORTIE,
    vAGE_MAXIMUM,
    vAGE_MINIMUM_,
    vREASSURANCE,
    vCOASSURANCE,
    vCONTRIBUTION_MINIMAL,
    vCONTRIBUTION_MAXIMAL   
          );
 
        IdRetour := NumProduit;                         
 
 
  COMMIT;
 
EXCEPTION
   When OTHERS Then
        errMessage := Substr('Err procedure "procMaj_PRODUIT" : ' || TO_CHAR(SQLCODE)||': '||SQLERRM,1,100); 
 
 
 END MAJ_PRODUIT;
/
mais il me donne l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'MAJ_PRODUIT'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored