Version Oracle : 9.2.1.0
Système d'exploitation WINDOWS

Bonjour
J’ai créé un package pour gérer des mises à jour dans certaines tables, il est appelé dans plusieurs procédures et ce n’est pas les mêmes champs qui sont mis à jour
Je n’ai trouvé que la solution de définir un type RECORD, je suppose qu’il y a une autre façon de procéder?
J’ai essayer de passer par un curseur mais j’ai un problème avec les valeurs par défaut
Voici une partie du code, merci pour vos conseils

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
CREATE OR REPLACE PACKAGE DOSSIER_PKG IS
 
TYPE typ_dos is record (dossier    dos.dossier%type,
         	 		 dt_cre    dos.dt_cre%type ,
  			 dt_deb    dos.dt_deb%type ,
 			 dt_fin    dos.dt_fin%type ,
 			 option    dos.option%type default '0',
			 ..... ,
			 ..... ,			
		   );			   
 
 rec_dos typ_dos ;
 
procedure ajout_dossier;
procedure Suppr_client;
.....
.....
 
END DOSSIER_PKG;
/
 
 
CREATE OR REPLACE PACKAGE BODY DOSSIER_PKG IS
 
    PROCEDURE Ajout_Dossier
    IS
 
      BEGIN
           IF REC_DOS.dossier is null  Then
              SELECT DOS.nextval INTO REC_DOS.dossier From dual;
 
             INSERT INTO DOS(dossier,dt_cre,dt_deb,dt_fin, ..... , ........  ) 
              VALUES(REC_DOS.dossier,
                          REC_DOS.dt_cre,
                          REC_DOS.dt_deb,
                          REC_DOS.dt_fin
                          ......
                          ...... 
                        ) ;
 
         ELSE
              .............;
              .............;
        END IF;
 
END;
 
 
END Dossier_pkg;
/