[ora - 04020] deadlock detected while trying
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:
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:
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; |