Cela fait 2 jours que j'essaye de trouver une erreur dans mon déclencheur mais rien ne va et sur le net pareil,je vous joins mon déclencheur,ainsi qu’une partie de mon application java où j'effectue mes insert.

J'ai 3 erreurs en faite :
Erreur SQL: ORA-02055: échec d'opération de mise à jour distribuée ; annulation requise
ORA-01403: aucune donnée trouvée
ORA-06512: à "UK.ALIMBEL", ligne 71
ORA-04088: erreur lors d'exécution du déclencheur 'UK.ALIMBEL'
J'ai essayé 2 méthodes pour mon déclencheur :

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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
1--------------------------------------
create or replace
TRIGGER ALIMBEL
for insert on MEDIA
COMPOUND TRIGGER
 
AFTER STATEMENT IS
TYPE table_medias IS TABLE OF MEDIA%ROWTYPE INDEX BY BINARY_INTEGER;
 medi MEDIA%rowtype;
 t_medias table_medias;
 
TYPE table_realiser IS TABLE OF REALISER_CREER%ROWTYPE INDEX BY BINARY_INTEGER;
reali REALISER_CREER%rowtype;
t_real table_realiser;
 
TYPE table_jouer IS TABLE OF JOUER_DANS%ROWTYPE INDEX BY BINARY_INTEGER;
jouer JOUER_DANS%rowtype;
t_jouer table_jouer;
 
TYPE table_langue IS TABLE OF PARLER%ROWTYPE INDEX BY BINARY_INTEGER;
lang PARLER%rowtype;
t_langue table_langue;
 
TYPE table_souti IS TABLE OF SOUS_TITRER%ROWTYPE INDEX BY BINARY_INTEGER;
souti SOUS_TITRER%rowtype;
t_souti table_souti;
 
 
fil FILM%rowtype;
music CD%rowtype;
 
pos integer;
 
BEGIN
 
 SELECT Ean,titre,categorie,categorieamazon,asinmedia,sourcemedia,prix,devise,rang,avis,poids,largeur,longueur,profondeur,nbstock,image_article,transfert BULK COLLECT INTO t_medias FROM MEDIA WHERE Transfert = 0;
 IF t_medias.COUNT >20 THEN
   pos:=1;
   while(pos <= t_medias.LAST AND pos<=20) loop
     medi := t_medias(pos);
 
    IF(pos=1) THEN
    	BEGIN
     INSERT INTO FOURNISSEUR@DB_BEL_UK VALUES('100','Amazon',null);
     EXCEPTION
	        WHEN DUP_VAL_ON_INDEX THEN NULL;
   	END;
    END IF;
 
    BEGIN
    	INSERT INTO media@DB_BEL_UK (SELECT Ean,titre,categorie,categorieamazon,asinmedia,sourcemedia,prix,devise,rang,avis,poids,largeur,longueur,profondeur,nbstock,'100',image_article FROM MEDIA WHERE ean=medi.ean);
    EXCEPTION
   		WHEN DUP_VAL_ON_INDEX THEN NULL;
   END;
 
   IF(medi.categorie = 'movie') THEN
       BEGIN
          SELECT * INTO fil FROM FILM where ean = medi.ean;
          INSERT INTO FILM@DB_BEL_UK VALUES(fil.ean,fil.studio,fil.formatFilm,fil.nbdisque,fil.typepublic,fil.duree,fil.datesortie,fil.region);
          EXCEPTION
   	       WHEN DUP_VAL_ON_INDEX THEN NULL;
       END;   
 
       BEGIN 
               SELECT * BULK COLLECT INTO t_jouer FROM JOUER_DANS WHERE ean = medi.ean;
       	    FOR i IN 1..t_jouer.COUNT LOOP
       			jouer := t_jouer(i);
       			BEGIN
       				INSERT INTO ARTISTE@DB_BEL_UK VALUES(jouer.numArtiste);
       				EXCEPTION
       					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       			BEGIN
         				INSERT INTO JOUER_DANS@DB_BEL_UK VALUES(medi.ean,jouer.numArtiste);
         				EXCEPTION
         					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       		END LOOP;
       		EXCEPTION
         			WHEN DUP_VAL_ON_INDEX THEN NULL;
         			WHEN NO_DATA_FOUND THEN NULL;
       	  END;
 
       	  BEGIN 
               SELECT * BULK COLLECT INTO t_langue FROM PARLER WHERE ean = medi.ean;
       	    FOR i IN 1..t_langue.COUNT LOOP
       			lang := t_langue(i);
       			BEGIN
       				INSERT INTO LANGUE@DB_BEL_UK VALUES(lang.Langue);
       				EXCEPTION
       					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       			BEGIN
         				INSERT INTO PARLER@DB_BEL_UK VALUES(medi.ean,lang.Langue);
         				EXCEPTION
         					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       		END LOOP;
       		EXCEPTION
         			WHEN DUP_VAL_ON_INDEX THEN NULL;
         			WHEN NO_DATA_FOUND THEN NULL;
       	  END;
 
			   BEGIN 
               SELECT * BULK COLLECT INTO t_souti FROM SOUS_TITRER WHERE ean = medi.ean;
       	    FOR i IN 1..t_souti.COUNT LOOP
       			souti := t_souti(i);
       			BEGIN
       				INSERT INTO LANGUE@DB_BEL_UK VALUES(souti.Langue);
       				EXCEPTION
       					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       			BEGIN
         				INSERT INTO SOUS_TITRER@DB_BEL_UK VALUES(medi.ean,souti.Langue);
         				EXCEPTION
         					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       		END LOOP;
       		EXCEPTION
         			WHEN DUP_VAL_ON_INDEX THEN NULL;
         			WHEN NO_DATA_FOUND THEN NULL;
       	  END;             
 
             END IF;
 
             IF(medi.categorie = 'music') THEN
             BEGIN
               SELECT * INTO music FROM CD where ean = medi.ean;
               INSERT INTO CD@DB_BEL_UK VALUES(music.ean,music.label,music.nbdisque,music.datesortie);
               EXCEPTION
                 WHEN DUP_VAL_ON_INDEX THEN NULL;
             END;
 
             END IF;
 
             SELECT * BULK COLLECT INTO t_real FROM REALISER_CREER WHERE ean = medi.ean;
             FOR i IN 1..t_real.COUNT LOOP
               reali := t_real(i);
               BEGIN
                 INSERT INTO ARTISTE@DB_BEL_UK VALUES(reali.numartiste) ;
                 EXCEPTION
                   WHEN DUP_VAL_ON_INDEX THEN NULL;
               END;
               BEGIN
                 INSERT INTO REALISER_CREER@DB_BEL_UK VALUES(medi.ean,reali.numartiste);
                 EXCEPTION
                   WHEN DUP_VAL_ON_INDEX THEN NULL;
               END;
             END LOOP;
 
             UPDATE MEDIA set Transfert=1 where ean = medi.ean;
     pos := pos+1;
   END LOOP;
 end if;
 EXCEPTION
                   WHEN NO_DATA_FOUND THEN NULL;
END AFTER STATEMENT;
END;

-----------------------------------------------------------------------------------

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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
2-------------------------------------------------------------------
 
create or replace
TRIGGER ALIMBEL
for insert on MEDIA
COMPOUND TRIGGER
 
AFTER STATEMENT IS
TYPE table_medias IS TABLE OF MEDIA%ROWTYPE INDEX BY BINARY_INTEGER;
 medi MEDIA%rowtype;
 t_medias table_medias;
 
TYPE table_realiser IS TABLE OF REALISER_CREER%ROWTYPE INDEX BY BINARY_INTEGER;
reali REALISER_CREER%rowtype;
t_real table_realiser;
 
TYPE table_jouer IS TABLE OF JOUER_DANS%ROWTYPE INDEX BY BINARY_INTEGER;
jouer JOUER_DANS%rowtype;
t_jouer table_jouer;
 
TYPE table_langue IS TABLE OF PARLER%ROWTYPE INDEX BY BINARY_INTEGER;
lang PARLER%rowtype;
t_langue table_langue;
 
TYPE table_souti IS TABLE OF SOUS_TITRER%ROWTYPE INDEX BY BINARY_INTEGER;
souti SOUS_TITRER%rowtype;
t_souti table_souti;
 
 
fil FILM%rowtype;
music CD%rowtype;
 
pos integer;
 
BEGIN
 
 SELECT * FROM MEDIA WHERE Transfert = 0;
 IF t_medias.COUNT >20 THEN
   pos:=1;
   while(pos <= t_medias.LAST AND pos<=20) loop
     medi := t_medias(pos);
 
    IF(pos=1) THEN
    	BEGIN
     INSERT INTO FOURNISSEUR@DB_BEL_UK VALUES('100','Amazon',null);
     EXCEPTION
	        WHEN DUP_VAL_ON_INDEX THEN NULL;
   	END;
    END IF;
 
    BEGIN
    	INSERT INTO media@DB_BEL_UK (Ean,titre,categorie,categorieamazon,asinmedia,sourcemedia,prix,devise,rang,avis,poids,largeur,longueur,profondeur,nbstock,idfournisseur);
     VALUES(medi.ean,
          medi.titre,
           medi.categorie,
           medi.categorieamazon,
           medi.asinmedia,
           medi.sourcemedia,
           medi.prix,
           medi.devise ,
           medi.rang,
           medi.avis,
           medi.poids,
           medi.largeur,
          medi.longueur,
           medi.profondeur,
           medi.nbstock,'100');
    EXCEPTION
   		WHEN DUP_VAL_ON_INDEX THEN NULL;
   END;
 
   update MEDIA@DB_BEL_UK set IMAGE_ARTICLE = medi.IMAGE_ARTICLE WHERE EAN = medi.ean;
 
   IF(medi.categorie = 'movie') THEN
       BEGIN
          SELECT * INTO fil FROM FILM where ean = medi.ean;
          INSERT INTO FILM@DB_BEL_UK VALUES(fil.ean,fil.studio,fil.formatFilm,fil.nbdisque,fil.typepublic,fil.duree,fil.datesortie,fil.region);
          EXCEPTION
   	       WHEN DUP_VAL_ON_INDEX THEN NULL;
       END;   
 
       BEGIN 
               SELECT * BULK COLLECT INTO t_jouer FROM JOUER_DANS WHERE ean = medi.ean;
       	    FOR i IN 1..t_jouer.COUNT LOOP
       			jouer := t_jouer(i);
       			BEGIN
       				INSERT INTO ARTISTE@DB_BEL_UK VALUES(jouer.numArtiste);
       				EXCEPTION
       					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       			BEGIN
         				INSERT INTO JOUER_DANS@DB_BEL_UK VALUES(medi.ean,jouer.numArtiste);
         				EXCEPTION
         					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       		END LOOP;
       		EXCEPTION
         			WHEN DUP_VAL_ON_INDEX THEN NULL;
         			WHEN NO_DATA_FOUND THEN NULL;
       	  END;
 
       	  BEGIN 
               SELECT * BULK COLLECT INTO t_langue FROM PARLER WHERE ean = medi.ean;
       	    FOR i IN 1..t_langue.COUNT LOOP
       			lang := t_langue(i);
       			BEGIN
       				INSERT INTO LANGUE@DB_BEL_UK VALUES(lang.Langue);
       				EXCEPTION
       					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       			BEGIN
         				INSERT INTO PARLER@DB_BEL_UK VALUES(medi.ean,lang.Langue);
         				EXCEPTION
         					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       		END LOOP;
       		EXCEPTION
         			WHEN DUP_VAL_ON_INDEX THEN NULL;
         			WHEN NO_DATA_FOUND THEN NULL;
       	  END;
 
			   BEGIN 
               SELECT * BULK COLLECT INTO t_souti FROM SOUS_TITRER WHERE ean = medi.ean;
       	    FOR i IN 1..t_souti.COUNT LOOP
       			souti := t_souti(i);
       			BEGIN
       				INSERT INTO LANGUE@DB_BEL_UK VALUES(souti.Langue);
       				EXCEPTION
       					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       			BEGIN
         				INSERT INTO SOUS_TITRER@DB_BEL_UK VALUES(medi.ean,souti.Langue);
         				EXCEPTION
         					WHEN DUP_VAL_ON_INDEX THEN NULL;
       			END;
       		END LOOP;
       		EXCEPTION
         			WHEN DUP_VAL_ON_INDEX THEN NULL;
         			WHEN NO_DATA_FOUND THEN NULL;
       	  END;             
 
             END IF;
 
             IF(medi.categorie = 'music') THEN
             BEGIN
               SELECT * INTO music FROM CD where ean = medi.ean;
               INSERT INTO CD@DB_BEL_UK VALUES(music.ean,music.label,music.nbdisque,music.datesortie);
               EXCEPTION
                 WHEN DUP_VAL_ON_INDEX THEN NULL;
             END;
 
             END IF;
 
             SELECT * BULK COLLECT INTO t_real FROM REALISER_CREER WHERE ean = medi.ean;
             FOR i IN 1..t_real.COUNT LOOP
               reali := t_real(i);
               BEGIN
                 INSERT INTO ARTISTE@DB_BEL_UK VALUES(reali.numartiste) ;
                 EXCEPTION
                   WHEN DUP_VAL_ON_INDEX THEN NULL;
               END;
               BEGIN
                 INSERT INTO REALISER_CREER@DB_BEL_UK VALUES(medi.ean,reali.numartiste);
                 EXCEPTION
                   WHEN DUP_VAL_ON_INDEX THEN NULL;
               END;
             END LOOP;
 
             UPDATE MEDIA set Transfert=1 where ean = medi.ean;
     pos := pos+1;
   END LOOP;
 end if;
 EXCEPTION
                   WHEN NO_DATA_FOUND THEN NULL;
END AFTER STATEMENT;
END;
--------------------------------------------------------------------

Programme JAVA :

Code java : 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
public void insert_movie(Vector<Movie> mov)
   {
       System.out.println("Taille:" + mov.size());
       for (int i = 0; i < mov.size(); i++) {
           Movie p = mov.get(i);
           String resultat = null;
           try {
               resultat = this.Requet(p.getAsin(), "MEDIA", "ASINMEDIA", "ASINMEDIA");
           } catch (SQLException ex) {
               System.out.printf("Erreur SQL: %s \n", ex.getMessage());
           }
           if (resultat == null) {
               PreparedStatement stmt=null;
               if (i == 0 && base.equals("BEL")==true) {
                   try {
                       stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO FOURNISSEUR VALUES('100','Amazon',null)");
                       stmt.executeUpdate();
                       stmt.close();
                   } catch (SQLException ex) {
                       System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                   }
               }
               System.out.printf("prepare satement meida \n");
               try {
                   stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO MEDIA VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
                   stmt.setString(1,p.getAsin());
                   if (p.getTitle() == null)
                       stmt.setString(2,null);
                   else
                       stmt.setString(2,p.getTitle());
 
                   if (p.getCategory() == null)
                       stmt.setString(3,null);
                   else
                       stmt.setString(3,p.getCategory());
 
                   if (p.getCategory_amazon() == null)
                       stmt.setString(4,null);
                   else
                       stmt.setString(4,p.getCategory_amazon());
 
                   if (p.getAsin() == null)
                       stmt.setString(5,null);
                   else
                       stmt.setString(5,p.getAsin());
 
                   if (p.getEndpoint() == null)
                       stmt.setString(6,null);
                   else
                       stmt.setString(6,p.getEndpoint());
 
                   stmt.setFloat(7,p.getPrice());
 
                   if (base.equals("BEL") == true)
                       stmt.setString(8,"EURO");
 
                   if (base.equals("UK") == true)
                       stmt.setString(8,"STERLING");
 
                   stmt.setInt(9,p.getRank());
                   stmt.setFloat(10,p.getReview());
                   stmt.setFloat(11,p.getWeight());
                   stmt.setFloat(12,p.getDim_height());
                   stmt.setFloat(13,p.getDim_depth());
                   stmt.setFloat(14,p.getDim_width());
                   stmt.setInt(15,0);
                   if(base.equals("UK")==false)
                   {
                       stmt.setString(16,"100");
                   }
 
                   File monImage = null;
                   FileInputStream istreamImage = null;
                   try {
                       monImage = new File("Image/image_" + p.getAsin() + ".jpg");
                       istreamImage = new FileInputStream(monImage);
                       if(base.equals("UK")==false)
                           stmt.setBinaryStream(17, istreamImage, (int) monImage.length());
                       else
                           stmt.setBinaryStream(16, istreamImage, (int) monImage.length());
                   }
                   catch (FileNotFoundException ex)
                   {
                       if(base.equals("UK")==false)
                           stmt.setBinaryStream(17,null,0);
                       else
                          stmt.setBinaryStream(16,null,0);
                   }
 
                   if (base.equals("UK") == true)
                       stmt.setInt(17,0);
 
 
                   stmt.executeUpdate();
                   stmt.close();
 
                   resultat = null;
                   try {
                       resultat = this.Requet(p.getAsin(), "MEDIA", "ASINMEDIA", "EAN");
                   } catch (SQLException ex) {
                        System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                   }
                   if (resultat != null) {
                       p.setAsin(resultat);
                   }
                   System.out.printf("prepare satement film \n");
                   try {
                       stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO FILM VALUES(?,?,?,?,?,?,?,?)");
 
                       stmt.setString(1,p.getAsin());
 
                       if (p.getStudio() == null)
                           stmt.setString(2,null);
                       else
                           stmt.setString(2,p.getStudio());
 
                       if (p.getformats().isEmpty() == true) {
                           stmt.setString(3,null);
                       }
                       else
                       {
                           String forma = null;
                           for (int j = 0; j < p.getformats().size(); j++) {
                               if (j == 0) {
                                   forma = p.getformats().get(j);
                               }
                               else
                               {
                                   forma += "," + p.getformats().get(j);
                               }
                           }
                           stmt.setString(3,forma);
                       }
                       stmt.setInt(4,p.getdiscs());
 
                       if (p.getRating() == null)
                           stmt.setString(5,null);
                       else
                           stmt.setString(5,p.getRating());
 
                       if (p.getruntime() == null)
                           stmt.setString(6,null);
                       else
                           stmt.setString(6,p.getruntime());
 
                       if (p.getrelease_date() == null)
                           stmt.setString(7,null);
                       else
                           stmt.setString(7,p.getrelease_date());
 
                       stmt.setInt(8,p.getRegion());
                       stmt.executeUpdate();
                       stmt.close();
 
                   } catch (SQLException ex) {
                       stmt.close();
                       System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                   }
 
                   System.out.printf("acteur \n");
                   if (p.getActors().isEmpty() == false) {
                       for (int j = 0; j < p.getActors().size(); j++) {
                          try {
                               stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO ARTISTE VALUES(?)");
                               stmt.setString(1,p.getActors().get(j));
                               stmt.executeUpdate();
                               stmt.close();
                           } catch (SQLException ex) {
                               stmt.close();
                               System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                           }
                           try {
                               stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO JOUER_DANS VALUES(?,?)");
                               stmt.setString(1,p.getAsin());
                               stmt.setString(2,p.getActors().get(j));
                               stmt.executeUpdate();
                               stmt.close();
                           } catch (SQLException ex) {
                               stmt.close();
                               System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                           }
                       }
                   }
 
                   if (p.getDirectors().isEmpty() == false) {
                       for (int j = 0; j < p.getDirectors().size(); j++) {
                           try {
                               stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO ARTISTE VALUES(?)");
                               stmt.setString(1,p.getDirectors().get(j));
                               stmt.executeUpdate();
                               stmt.close();
                           } catch (SQLException ex) {
                               stmt.close();
                               System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                           }
                           try {
                               stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO REALISER_CREER VALUES(?,?)");
                               stmt.setString(1,p.getAsin());
                               stmt.setString(2,p.getDirectors().get(j));
                               stmt.executeUpdate();
                               stmt.close();
                           } catch (SQLException ex) {
                               stmt.close();
                               System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                           }
                       }
                   }
 
                   if (p.getLanguage().isEmpty() == false) {
                       for (int j = 0; j < p.getLanguage().size(); j++) {
                           try {
                               stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO LANGUE VALUES(?)");
                               stmt.setString(1,p.getLanguage().get(j));
                               stmt.executeUpdate();
                               stmt.close();
                           } catch (SQLException ex) {
                               stmt.close();
                               System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                           }
                           try {
                               stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO PARLER VALUES(?,?)");
                               stmt.setString(1,p.getAsin());
                               stmt.setString(2,p.getLanguage().get(j));
                               stmt.executeUpdate();
                               stmt.close();
                           } catch (SQLException ex) {
                               stmt.close();
                               System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                           }
                       }
                   }
                   if (p.getSubtitles().isEmpty() == false) {
                       for (int j = 0; j < p.getSubtitles().size(); j++) {
                           try {
                               stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO LANGUE VALUES(?)");
                               stmt.setString(1,p.getSubtitles().get(j));
                               stmt.executeUpdate();
                               stmt.close();
                           } catch (SQLException ex) {
                               stmt.close();
                               System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                           }
                           try {
                               stmt = this.getConnect_oracle().getConnection().prepareStatement("INSERT INTO SOUS_TITRER VALUES(?,?)");
                               stmt.setString(1,p.getAsin());
                               stmt.setString(2,p.getSubtitles().get(j));
                               stmt.executeUpdate();
                               stmt.close();
                           } catch (SQLException ex) {
                               stmt.close();
                               System.out.printf("Erreur SQL: %s \n", ex.getMessage());
                           }
                       }
                   }
               }catch (SQLException ex) {
                   try {
                       stmt.close();
                   } catch (SQLException ex1) {
                       Logger.getLogger(Insertion.class.getName()).log(Level.SEVERE, null, ex1);
                   }
                   System.out.printf("Erreur SQL: %s \n", ex.getMessage());
               }
          }
          else
          {
               Statement stmt = null;
               try {
                   stmt = this.getConnect_oracle().getConnection().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
                   stmt.execute("UPDATE MEDIA set nbstock = nbstock +1 WHERE asinmedia = '" + p.getAsin() + "'");
                   if(base.equals("UK")==true)
                   {
                       resultat=null;
                       resultat = this.Requet(p.getAsin(), "MEDIA", "ASINMEDIA", "EAN");
                       stmt.execute("UPDATE MEDIA@DB_BEL_UK set nbstock = nbstock +1 WHERE ean = " +resultat);
                   }
                   stmt.close();
               } catch (SQLException ex) {
                    System.out.printf("Erreur SQL: %s \n", ex.getMessage());
               }
          }
       }
   }
---------------------------------------------------------------------

J'espere que vous sauriez m'aider

Merci d'avance