#1 Tue 20 April 2010 13:18
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Oracle : SQL : erreur 00918
Aloha
Mon serveur de publication web me renvoie cette erreur lorsque j'interroge des objets définis pas la requête SQL suivante :
Code:
SELECT E1_SPP.GID AS ID_SPP, E2_POLLU.GID, E2_POLLU.POLSOL, E2_POLLU.POLAIR, E2_POLLU.POLEAU, E2_POLLU.DEPOLL, E2_POLLU.SUIVI, E2_POLLU.EXCAV, E2_POLLU.ENFOUI, E2_POLLU.BIOCEN, E2_POLLU.VENTIN, E2_POLLU.STRIPPI, E2_POLLU.BIOTERT, E2_POLLU.CONFINT, E2_POLLU.OCCUP, E2_POLLU.GEOMETRY FROM E2_POLLU E2_POLLU, E1_SPP E1_SPP WHERE SDO_NN (E1_SPP.GEOMETRY, E2_POLLU.GEOMETRY, 'querytype=window sdo_num_res=1') = 'TRUE'
Je décide donc de la reformuler :
Code:
SELECT /*+ ORDERED */ E2_POLLU.GID, E2_POLLU.POLSOL, E2_POLLU.POLAIR, E2_POLLU.POLEAU, E2_POLLU.DEPOLL, E2_POLLU.SUIVI, E2_POLLU.EXCAV, E2_POLLU.ENFOUI, E2_POLLU.BIOCEN, E2_POLLU.VENTIN, E2_POLLU.STRIPPI, E2_POLLU.BIOTERT, E2_POLLU.CONFINT, E2_POLLU.OCCUP, S.ID_SPP FROM A_REIMS.E2_POLLU E2_POLLU INNER JOIN (SELECT E2_POLLU.GID, E1_SPP.GID AS ID_SPP FROM A_REIMS.E1_SPP E1_SPP, A_REIMS.E2_POLLU E2_POLLU WHERE SDO_NN (E1_SPP.GEOMETRY, E2_POLLU.GEOMETRY, 'querytype=window sdo_num_res=1') = 'TRUE') S ON (E2_POLLU.GID = S.GID)
Mais là, c'est TOAD qui m'annonce qu'il ne peut l'éxécuter :
Code:
Toad for Data Analysts: ORA-13249: SDO_NN cannot be evaluated without using index ORA-06512: à "MDSYS.MD", ligne 1723 ORA-06512: à "MDSYS.MDERR", ligne 17 ORA-06512: à "MDSYS.PRVT_IDX", ligne 9 1 0
Alors que la requête fonctionne parfaitement
Code:
SELECT E2_POLLU.GID, E1_SPP.GID AS ID_SPP FROM A_REIMS.E1_SPP E1_SPP, A_REIMS.E2_POLLU E2_POLLU WHERE SDO_NN (E1_SPP.GEOMETRY, E2_POLLU.GEOMETRY, 'querytype=window sdo_num_res=1'
Quelqu'un a-t'il une idée pour que je corrige cette erreur 00918 (contournement, reformulation,...) ?
D'avance merci.
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
#2 Tue 20 April 2010 14:48
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Oracle : SQL : erreur 00918
Aloha
Mon serveur de publication web me renvoie cette erreur lorsque j'interroge des objets définis pas la requête SQL suivante :Code:
SELECT E1_SPP.GID AS ID_SPP, E2_POLLU.GID, E2_POLLU.POLSOL, E2_POLLU.POLAIR, E2_POLLU.POLEAU, E2_POLLU.DEPOLL, E2_POLLU.SUIVI, E2_POLLU.EXCAV, E2_POLLU.ENFOUI, E2_POLLU.BIOCEN, E2_POLLU.VENTIN, E2_POLLU.STRIPPI, E2_POLLU.BIOTERT, E2_POLLU.CONFINT, E2_POLLU.OCCUP, E2_POLLU.GEOMETRY FROM E2_POLLU E2_POLLU, E1_SPP E1_SPP WHERE SDO_NN (E1_SPP.GEOMETRY, E2_POLLU.GEOMETRY, 'querytype=window sdo_num_res=1') = 'TRUE'Je décide donc de la reformuler :
Code:
SELECT /*+ ORDERED */ E2_POLLU.GID, E2_POLLU.POLSOL, E2_POLLU.POLAIR, E2_POLLU.POLEAU, E2_POLLU.DEPOLL, E2_POLLU.SUIVI, E2_POLLU.EXCAV, E2_POLLU.ENFOUI, E2_POLLU.BIOCEN, E2_POLLU.VENTIN, E2_POLLU.STRIPPI, E2_POLLU.BIOTERT, E2_POLLU.CONFINT, E2_POLLU.OCCUP, S.ID_SPP FROM A_REIMS.E2_POLLU E2_POLLU INNER JOIN (SELECT E2_POLLU.GID, E1_SPP.GID AS ID_SPP FROM A_REIMS.E1_SPP E1_SPP, A_REIMS.E2_POLLU E2_POLLU WHERE SDO_NN (E1_SPP.GEOMETRY, E2_POLLU.GEOMETRY, 'querytype=window sdo_num_res=1') = 'TRUE') S ON (E2_POLLU.GID = S.GID)Mais là, c'est TOAD qui m'annonce qu'il ne peut l'éxécuter :
Code:
Toad for Data Analysts: ORA-13249: SDO_NN cannot be evaluated without using index ORA-06512: à "MDSYS.MD", ligne 1723 ORA-06512: à "MDSYS.MDERR", ligne 17 ORA-06512: à "MDSYS.PRVT_IDX", ligne 9 1 0Alors que la requête fonctionne parfaitement
Code:
SELECT E2_POLLU.GID, E1_SPP.GID AS ID_SPP FROM A_REIMS.E1_SPP E1_SPP, A_REIMS.E2_POLLU E2_POLLU WHERE SDO_NN (E1_SPP.GEOMETRY, E2_POLLU.GEOMETRY, 'querytype=window sdo_num_res=1'Quelqu'un a-t'il une idée pour que je corrige cette erreur 00918 (contournement, reformulation,...) ?
D'avance merci.
Bonjour,
Créer un index spatial ?
Nico
Hors ligne
#3 Tue 20 April 2010 15:20
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Oracle : SQL : erreur 00918
Bonjour,
J'ai oublié de dire, que mon index est à jour et créé (pour ce que j'en sais).
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