Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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 ONLY

art 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

 

Pied de page des forums

Powered by FluxBB