bonjour

je suis sous oracle9i, je fais un update d'une table voici mon code :

P
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
ROCEDURE facturation IS
 
	v_code_rubrique varchar2(5);
	v_montant_rubrique number(11);
	v_code_contrat varchar2(11);
	v_prop varchar2(15);
	 	cursor c_calcul is select d.contrat_code_contrat,d.rubrique_q_code_rubrique_q,d.montant,s.propriete_code_propriete
	 from detail_contrat_quit d,suivi_quittance s where d.contrat_code_contrat=s.contrat_code_contrat
	 	  	  and d.societe=:soc order by d.contrat_code_contrat asc;
begin
 
		open c_calcul;
		fetch c_calcul into	v_code_contrat,v_code_rubrique,v_montant_rubrique,v_prop;
	  loop
	  		:message:=v_prop||' en traitement';
		         synchronize;
			update variable_quittance set
		montant_debit=v_montant_rubrique,
		montant_credit=v_montant_rubrique
		where
		contrat_code_contrat=v_code_contrat
		and  RUBRIQUE_Q_CODE_RUBRIQUE_Q=v_code_RUBRIQUE
		and  societe=:soc ;
		fetch c_calcul into	v_code_contrat,v_code_rubrique,v_montant_rubrique,v_prop;
		commit;  
 
end loop;
	close c_calcul;	
end;
tout se passe bien mais jusqu'au moment le update sql se bloque toujours à la ligne 4895, la table à mettre à jour fait quelques 12.000 lignes.

j'aimerai bien savoir ce qui se passe ?