#1 Thu 08 December 2011 15:36
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
[Oracle11X] problème création vue
Aloha
Mon select fonctionne bien, et je souhaitais avoir toujours sous la main le résultat. Donc une vue le semblait bien.
J'obtiens cependant une erreur "ORA-04063 view has error".
A la lecture du code ci-dessous, quelqu'un a-t'il une idée de ce que fais mal ? J'ai enlevé la géom, pensant que peut-être celà pouvait jouer, nenni.
D'avance, merci,
Code:
CREATE OR REPLACE FORCE VIEW "PIERRE.GEOREZO"."LOGEMENT"
(
--GEOMETRY,
APIX_DATE,
"TYPE RROPRIO",
"NB_LGT",
"Catégorie",
"OCCUPATION_MJ3",
CODE_PARC,
GROUPE_DATE,
COPRO,
"NUMERO BATIMENT"
)
AS
SELECT --SDO_GEOM.SDO_CENTROID (P.GEOMETRY, 1) AS GEOMETRY,
TO_DATE ('01/09/2011') "APIX_CDATE",
S1."type de propriétaire" AS "TYPE RROPRIO",
S1."NB_LGT",
S1."Catégorie",
S1."OCCUPATION_MJ3",
S1.CODE_PARC,
S1.GROUPE_DATE,
S1.COPRO,
S1."NUMERO BATIMENT"
FROM PCI_PARC P
INNER JOIN
(SELECT D.CCOAFF,
D.DCAPEC AS "Catégorie",
D.DCETLC AS "Coeff d'entretien",
COUNT (D.INVAR) AS NB_LGT,
MJ2_BATI.CCOCOM
|| '000'
|| LPAD (LTRIM (MJ2_BATI.CCOSEC), 2, '0')
|| LPAD (MJ2_BATI.DNUPLA, 4, 0)
AS CODE_PARC,
-- MJ2_LOCAL.JDATAT AS "Année de mutation",
MJ2_LOCAL.JANNAT AS "Année de construction",
CASE
WHEN MJ2_LOCAL.JANNAT BETWEEN 1949 AND 1974
THEN
'ENTRE 1949 et 1974'
WHEN MJ2_LOCAL.JANNAT BETWEEN 1975 AND 1989
THEN
'ENTRE 1975 et 1989'
WHEN MJ2_LOCAL.JANNAT BETWEEN 1990 AND 2003
THEN
'ENTRE 1990 et 2003'
WHEN MJ2_LOCAL.JANNAT > 2003
THEN
'APRES 2003'
ELSE
'DATE PEU FIABLE'
END
AS GROUPE_DATE,
MJ2_LOCAL.CCONLC AS "Nature du local",
CASE MJ2_LOCAL.GPDL
WHEN '1' THEN 'Propriété divisée en lots'
ELSE 'Propriété entière'
END
AS "COPRO",
MJ2_LOCAL.DNATLC,
MJ2_BATI.DNUBAT AS "NUMERO BATIMENT",
CASE MJ2_LOCAL.DNATLC
WHEN 'D'
THEN
'Domicile principal occupé par le propriétaire'
WHEN 'L'
THEN
'Loué'
WHEN 'P'
THEN
'Occupé par le propriétaire'
WHEN 'V'
THEN
'Vacant'
ELSE
DNATLC
END
AS OCCUPATION_MJ3,
CASE
WHEN MJ2_PROPRIO.CCOGRM = '0 ' THEN '1'
ELSE MJ2_PROPRIO.GTOPER
END
AS "type de propriétaire",
MJ2_PROPRIO.CCOGRM AS "code personne morale"
FROM MJ2_DESCPEV D
INNER JOIN
( ( MJ2_BATI
INNER JOIN
MJ2_LOCAL
ON MJ2_BATI.INVAR = MJ2_LOCAL.INVAR)
INNER JOIN
MJ2_PROPRIO
ON (MJ2_LOCAL.DNUPRO = MJ2_PROPRIO.DNUPRO
AND MJ2_BATI.CCOCOM = MJ2_PROPRIO.CCOCOM))
ON (D.INVAR = MJ2_BATI.INVAR)
WHERE DNUPEV = 001
AND D.CCOAFF = 'H'
AND MJ2_PROPRIO.DNULP = 01
GROUP BY D.CCOAFF,
D.DCAPEC,
D.DCETLC,
MJ2_BATI.CCOCOM
|| '000'
|| LPAD (LTRIM (MJ2_BATI.CCOSEC), 2, '0')
|| LPAD (MJ2_BATI.DNUPLA, 4, 0),
MJ2_LOCAL.JANNAT,
MJ2_BATI.DNUBAT,
-- MJ2_LOCAL.JDATAT,
MJ2_LOCAL.CCONLC,
CASE MJ2_LOCAL.GPDL
WHEN '1' THEN 'Propriété divisée en lots'
ELSE 'Propriété entière'
END,
MJ2_LOCAL.DNATLC,
MJ2_LOCAL.GPDL,
CASE MJ2_LOCAL.DNATLC
WHEN 'D'
THEN
'Domicile principal occupé par le propriétaire'
WHEN 'L'
THEN
'Loué'
WHEN 'P'
THEN
'Occupé par le propriétaire'
WHEN 'V'
THEN
'Vacant'
ELSE
DNATLC
END,
CASE
WHEN MJ2_PROPRIO.CCOGRM = '0 ' THEN '1'
ELSE MJ2_PROPRIO.GTOPER
END,
MJ2_PROPRIO.CCOGRM) S1
ON S1.CODE_PARC = P.IDENT
WITH READ ONLYart X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne


