Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como contar o número de elementos em todos os varrays do Oracle da tabela?


Eu acho que você pode fazer isso com uma consulta:
select s.id, count(*)
  from spatial_data s, table(s.geometry.sdo_ordinates)
 group by s.id

ou você pode escrever uma função simples plsql que retorna o atributo count do 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 ainda melhor adicionar uma função de membro ao SDO_GEOMETRY TYPE que retorna o atributo de contagem