Bonjour,

en ajoutant l'appel d'une fonction "dev_get_cumul_ca_secteur" à ma vue "ca_secteur3 " , j'obtiens ce message d'erreur "ora - 04020 deadlock detected while trying to lock object ABSIS.CA_Secteur3"

A quoi cela est-il dû ?

la vue :
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
 
SELECT   
sites.cell_denomination as site,
secteurs_activites.sect_act_libelle as secteur,
SUM (contrats_ca.cont_ca_tot) AS ca_secteur,
to_char(contrats_ca.cont_ca_annee) as annee,
to_char(contrats_ca.cont_ca_mois)as mois,
dev_get_cumul_ca_secteur(contrats_ca.cont_ca_mois,contrats_ca.cont_ca_annee,sites.cell_denomination,secteurs_activites.sect_act_libelle) as cumul
 
 
 
FROM contrats_ca, sites, secteurs_activites, contrats
WHERE contrats.cont_sect_act_fk = secteurs_activites.sect_act_pk
AND contrats_ca.cont_ca_cont_fk = contrats.cont_pk
AND contrats_ca.cont_ca_site_fk = sites.cell_pk
--	 and sites.cell_denomination = 'Site de City2'
--    AND cont_ca_annee = '2004'
--   AND cont_ca_mois = 11
GROUP BY sites.cell_denomination,
         secteurs_activites.sect_act_libelle,
         contrats_ca.cont_ca_annee,
         contrats_ca.cont_ca_mois

la fonction (qui est valide):

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
 (
   mois        IN   ca_secteur3.mois%TYPE,
   annee       IN   ca_secteur3.annee%TYPE,
   site        IN   ca_secteur3.site%TYPE,
   secteur   IN   ca_secteur3.secteur%TYPE
)
   RETURN number
IS
 
  cumul     ca_secteur3.ca_secteur%TYPE;
 
BEGIN
 
SELECT SUM(ca_secteur3.ca_secteur) into cumul
FROM ca_secteur3 
WHERE ca_secteur3.site = site 
AND ca_secteur3.secteur = secteur 
AND ca_secteur3.annee = annee 
AND ca_secteur3.mois <= mois;
 
RETURN cumul;
END dev_get_cumul_ca_secteur;