2 391
edições
m (→tentativa 3: rev) |
m (→tentativa 3: fez o esperado) |
||
Linha 207: | Linha 207: | ||
) t | ) t | ||
$$; | $$; | ||
SELECT array_agg(x::text) INTO oid_list | |||
FROM ( | FROM ( | ||
SELECT array_agg(cod_b16h)::text as x | SELECT array_agg(cod_b16h)::text as x | ||
Linha 214: | Linha 213: | ||
select cod_b16h, row_number() over() ord | select cod_b16h, row_number() over() ord | ||
from grid_br2.poc_caruaru_vw01logistic | from grid_br2.poc_caruaru_vw01logistic | ||
where length(gid_vbit)= | where length(gid_vbit)=p_id_bitlen | ||
) t1 | ) t1 | ||
GROUP BY ord/100 | GROUP BY ord/100 | ||
Linha 221: | Linha 220: | ||
FOREACH cover_frag IN ARRAY oid_list LOOP | FOREACH cover_frag IN ARRAY oid_list LOOP | ||
s:=''; | s:=''; | ||
FOR lev IN (select x from generate_series(p_lev0, p_lev_max, 2.5) t(x)) LOOP | FOR lev IN (select x from generate_series(p_lev0, p_lev_max, 2.5) t(x)) LOOP | ||
IF lev>p_lev0 THEN s := s || E'\n UNION ALL \n'; END IF; | IF lev>p_lev0 THEN s := s || E'\n UNION ALL \n'; END IF; | ||
Linha 228: | Linha 226: | ||
s := s|| E'\n ORDER BY 1'; | s := s|| E'\n ORDER BY 1'; | ||
ret := ret || E'INSERT INTO grid_br2.tmp_cells \n' || s || E';\n COMMIT; \n\n\n'; | ret := ret || E'INSERT INTO grid_br2.tmp_cells \n' || s || E';\n COMMIT; \n\n\n'; | ||
END LOOP; -- cover_frag | END LOOP; -- cover_frag | ||
RETURN ret; | RETURN ret; | ||
END; | END; | ||
$f$; | $f$; | ||
SELECT volat_file_write( | |||
'/tmp/inserts_logistic2.sql' | |||
, osmc.grid_generate_all_levels_logistic2( 2.5, 'BR', 27, 18 ) | |||
); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
edições