Aloha
Lorsque j'exécute la requête
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 :
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,
Partager