Bonjour,

J'utilise Oracle 11.2.0.1.0. J'ai construit une procédure stockée qui ressemble à ceci :

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
PROCEDURE insertion_ligne
 
AS
 
BEGIN
 
FOR INS IN (select q,w,e
                from table_a 
                minus
                select q,w,e
                from table_b) loop
 
insert into table_b(q,w,e) values (ins.q,ins.w,ins.e);
 
 
END LOOP;
 
EXCEPTION 
 
WHEN OTHERS
 
ROLLBACK;
RAISE;
 
END;
Si q et w prennent la valeur NULL pour une ligne, par exemple, l'exécution de la procédure stockée plusieurs fois va insérer autant de fois cette ligne. Est-ce qu'il y a une façon élégante de gérer ce cas pour que plusieurs exécutions ne produisent qu'une seule entrée dans table_b?

Merci.