Bonjour tout le monde.

Je dois créer une fonction qui va rechercher un codprocmc dans 3 tables.
S'il est dans une table il est pas dans les autres.

Je veux à tout prix eviter de faire une requete très loiurde contenant les 3 tables, car elles sont très lourde chacune. et que la proba de trouver le codprocmc dans la table 1 est de 80% et 10% dans les 2 autres tables.

Bref, mon problème est comment détecter que mon codprocmc n'est pas dans la table 1 afin d'éviter de rechercher dans les autres ??

Voici le code que j'ai fait.
Dans ce cas quand le codprocmc n'existe pas, il ne m'affiche même pas le dbms_output, et je peux mettre n'importe quoi dans le LOOP, j'ai l'impression qu'il s'en fou.

Si vous pouviez m'aider
Merci d'avance

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
PROCEDURE PROC_MAJ_TABLE(v_table in VARCHAR) as
BEGIN
 
    FOR lst_Ancien in (SELECT numdossie, codprodui FROM FICINC)
    LOOP
 
      select codprocmc into new_codprocmc
      from ctrcpt
      where numdossie = lst_Ancien.numdossie
      and codprodui = lst_Ancien.codprodui; 
 
      dbms_output.put_line('|' || new_codprocmc || '| ' ||  lst_ancien.numdossie);
 
 
 
    END LOOP;
 
 
END;