Aloha

Lorsque j'exécute la requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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,