Précédent   Forum du club des développeurs et IT Pro > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/11/2012, 13h35   #1
H.ile
Membre du Club
 
Avatar de H.ile
 
Architecte de système d'information
Inscription : janvier 2008
Messages : 112
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Macao

Informations professionnelles :
Activité : Architecte de système d'information

Informations forums :
Inscription : janvier 2008
Messages : 112
Points : 45
Points : 45
Par défaut [10g] ORA-00904: "A_TRONCO"."GEOMETRY"."GET_DIMS" : identificateur non valide

Aloha

Lorsque j'exécute la requête
Code :
SELECT  c.GEOMETRY.Get_Dims() FROM A_TRONCO c;
J'ai en retour pour chacun des enregistrements de ma table A_TRONCO le nombre de dimension des objets (2 ou 3 ou null si il y a un problème...).

Souhaitant construire un script PL/SQL à vocation de correction des informations de 3D présentes dans le champ descriptif de la géométrie de mes objets j'ai testé ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Declare
  Cursor tableName IS
        SELECT table_name
        FROM user_tables
        WHERE table_name LIKE 'A_TRONCO';     
  --	   
  Type t_CurTyp IS Ref Cursor;
  crsData       t_CurTyp;
  dim    Varchar2(32676);
  l_sql         Varchar2(32676);
  --  
Begin
  FOR tabs IN tableName
  Loop
    l_sql := 'Select '|| tabs.table_name||'.GEOMETRY.Get_Dims()
               From '||tabs.table_name;
		Open crsData FOR l_sql ;
		Loop
       Fetch crsData INTO dim;
       Exit When crsData%NOTFOUND;
			 dbms_output.put_line(dim);
		End loop; 
    Close crsData;    
  End loop;	
End;
Pour l'instant mon curseur ne s'occupe que d'une table, mais dans le futur, il y aura X tables.
J'espérais pouvoir parcourir chacune des tables, puis pour chacune, interroger les objets et renvoyer le nombre de dimension.
Ensuite j'aurai inscrit un test (si 2 alors, si 3 alors, si null alors).
Mais là j'ai une erreur :
Citation:
Oracle Database Error: ORA-00904: "A_TRONCO"."GEOMETRY"."GET_DIMS" : identificateur non valide
ORA-06512: à ligne 17
Quelqu'un a-t'il une idée ?

D'avance, merci,
H.ile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2012, 14h27   #2
mnitu
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 4 107
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 4 107
Points : 8 004
Points : 8 004
Essayez
Code :
1
2
3
 
l_sql := 'Select c.GEOMETRY.Get_Dims() '
               ||' From '||tabs.table_name||' c' ;
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h58.


 
 
 
 
Partenaires

Hébergement Web