Spatial multipolygon to polygon
From WickyWiki
Convert multipolygons (gtype = 7) to polygons.
SELECT id
, polyid
, mdsys.sdo_util.GetNumElem(p.geom) as polyCount
, mdsys.sdo_util.Extract(p.geom,polyid,0) as geom
FROM projmultipoly2d p
, (select level as polyid
from dual
connect by level <= (
select max(mdsys.sdo_util.GetNumElem(p.geom))
from projmultipoly2d p) ) i
WHERE p.geom.get_gtype() = 7
and i.polyid <= mdsys.sdo_util.GetNumElem(p.geom)
ORDER BY 1,2
;