Bonjour,
J'ai un traitement PL SQL qui exécute plusieurs requêtes insert.
le script insère des données dans une table de travail ( date_traitement / table_rempli / nb_ligne / flag_trait )
J'ai un souci avec la méthode de reprise :
Comme j’insère une ligne après le traitement de chaque de requête. Comment puis-je identifier les tables qui ne sont pas traités
J’ai pensé à modifier mon script en utilisant la fonction IF NOT EXISTS (SELECT
Nom_table, date_traitement, flag
FROM RDO_LOG WHERE Nom_Table = '' AND Date_Traitement = ) INSERT
Qu'en pensez-vous ?

Voici mon script :

Code sql : 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
 
PROCEDURE ALIM_BASE IS 
 
	LN$Cpt PLS_INTEGER ;
 
  PROCEDURE LOG (pe_table IN VARCHAR2, pe_dml IN VARCHAR2,
      pe_nblignes IN NUMBER, pe_date IN DATE DEFAUT SYSDATE , pe_flag IN INTEGER ) IS
  BEGIN
    INSERT INTO table_log [TABLE,
               NB_INSEREES,
               DATE_TRT,
               FLAG]
  END LOG;
 
BEGIN 
 
  SELECT COUNT(*) INTO LN$Cpt FROM TABLEA ; 
  DBMS_OUTPUT.PUT_LINE( TO_CHAR( LN$Cpt ) || ' enreg_MASS') ; 
 	LOG('TABLEA', 'Count(*)', LN$Cpt);
 
  INSERT INTO TABLEA  ( JOUR,ENT,BAT)
  SELECT JOUR,ENT,BAT  FROM X
  UNION
  SELECT JOUR,ENT,BAT  FROM Y;
 
  LOG('TABLEA', 'INSERT', SQL%ROWCOUNT, 1);
 END ALIM_BASE;

merci de votre aide