set serveroutput on | |
update dd_members | |
set location = null | |
where location is not null; | |
delete from dd_locations | |
where location_name = 'dino-island'; | |
commit; | |
declare | |
v_dino_island sdo_geometry; | |
type t_member_location is record (member_id dd_members.member_id%type, | |
new_location sdo_geometry); | |
type t_member_ids is table of t_member_location | |
index by pls_integer; | |
l_member_ids t_member_ids; | |
begin | |
v_dino_island := dd.generate_polygon_rad(100000, 50, p_lat => 26.846786, p_lon => -69.322920); | |
insert into dd_locations (location_name, | |
geometry) | |
values ('dino-island', v_dino_island); | |
select member_id, | |
generate_random_location(v_dino_island) | |
bulk collect into l_member_ids | |
from dd_members | |
fetch next 1000 rows only; | |
forall indx in 1 .. l_member_ids.count | |
update dd_members_t | |
set location = l_member_ids (indx).new_location | |
where member_id = l_member_ids (indx).member_id; | |
dbms_output.put_line(sql%rowcount); | |
commit; | |
end; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment