Bonjour,

Est-ce que ce problème a été résolu ? Car j'ai le même problème sur une procédure qui me prend à peu près une heure pour le insert dans une autre table et le delete depuis la table d'origine...
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
PROCEDURE PR_VERIF_PRESENCE_AGENCE_T_AGC
AS
 
v_code_siege			VARCHAR2(5);
 
CURSOR loop_cursor IS
	SELECT DISTINCT CODE_SIEGE
	FROM   T_AGC T1
	WHERE  T1.CODE_OPERATION <> 'S'
  	AND    NOT EXISTS (SELECT NULL
		   	   FROM   PS_AGENCE_BNP A
			   WHERE  T1.CODE_SIEGE = A.CODE_AGENCE);
 
BEGIN
 
OPEN loop_cursor;
LOOP
FETCH loop_cursor INTO v_code_siege;
EXIT WHEN loop_cursor%NOTFOUND;
 
	INSERT INTO T_ANO
	       (CLETANO, TYP_DONNEES, DATA, DDATE, JOUR, CODE)
	SELECT	SEQ_T_ANO.NEXTVAL ,
		TYP_DONNEES     ,
		TYP_ENREG || TYP_DONNEES || RPAD(ID_INTERNATIONAL,18) || RPAD(NUM_SIRET,14) ||
		CODE_OPERATION || RPAD(CODE_SIEGE,5) || RPAD(ID_SGI,12) || IND_SIEG_PRINC ||
		NTURE_REL_CLTLE || T_AGC.FILLER,
		DATE_TRAIT,
		TO_CHAR(SYSDATE,'YYYYMMDD'),
		'A56'
	FROM   T_AGC, T_ENTETE
	WHERE  CODE_SIEGE = v_code_siege
        AND    TYPE_FICHIER IN ('SAE', 'CCS');
 
	DELETE FROM T_AGC WHERE CODE_SIEGE = v_code_siege;
 
END LOOP;
CLOSE loop_cursor;
 
COMMIT;
 
END PR_VERIF_PRESENCE_AGENCE_T_AGC;
Merci.