Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment compter le nombre d'éléments dans tous les varrays Oracle du tableau ?

Je pense que vous pouvez le faire avec une seule requête :

select s.id, count(*)
  from spatial_data s, table(s.geometry.sdo_ordinates)
 group by s.id

ou vous pouvez écrire une fonction plsql simple qui renvoie l'attribut count du SDO_ORDINATE_ARRAY VARRAY :

create or replace function get_count(ar in SDO_ORDINATE_ARRAY) return number is
begin
   return ar.count;
end get_count;

ou encore mieux ajouter une fonction membre à SDO_GEOMETRY TYPE qui renvoie l'attribut count