Le problème apparaît au niveau de l'exécution, le trigger consiste de construire une clé primaire pour la table C_HW à partir de quatre séquences qui sont :
- S_CHW_NB
- S_CHW_PC
- S_CHW_WS
- S_CHW_SV
Le trigger se lance avant l'insertion d'un nouveau matériel dans la table C_HW :
- si le matériel est un ordinateur portable, alors on ajoute NB comme préfixe à la valeur de la séquence S_CHW_NB après avoir transformé cette dernière en une chaîne de trois caractères.
- si c'est un ordinateur de bureau alors même travail avec un préfixe PC et la séquence S_CHW_PC.
- si c'est une station de travail, alors on ajoute le préfixe WS avec la séquence S_CHW_WS.
- si c'est un serveur, alors on ajoute le préfixe SV avec la séquence S_CHW_SV.
Table C_HW :
Code des séquences :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Code du trigger:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Ici le trigger fait appel a la fonction CL_CHW qui permet de retourner la nouvelle valeur de la clé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Le problème est partiellement résolu, je n'ai plus d'erreur, l'insertion est effectuée, car le problème était au niveau de la déclaration dans la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
j'ai déclaré en premier lieu CHS comme char, maintenant avec CHAR(2), l'exécution marche.
Mais, l'insertion ne fait que le préfixe dans la table.
J'ai essayé d'insérer un nouveau laptop, j'ai trouvé la clé NB au lieu de NB001...
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112

 

 
		
		 
         
 

 
			
			




 Problème d'exécution d'un trigger
 Problème d'exécution d'un trigger
				 Répondre avec citation
  Répondre avec citation



 
   
 


Partager