Tôi nghĩ rằng bạn có thể làm điều đó với một truy vấn:
select s.id, count(*)
from spatial_data s, table(s.geometry.sdo_ordinates)
group by s.id
hoặc bạn có thể viết một hàm đơn giản plsql trả về thuộc tính count của 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;
hoặc thậm chí đẹp hơn, hãy thêm một hàm thành viên vào SDO_GEOMETRY TYPE trả về thuộc tính count