postgresql - ejemplos - Postgres PARA BUCLE
substring postgresql ejemplos (1)
Estoy tratando de obtener 25 muestras aleatorias de 15,000 ID de una tabla. En lugar de presionar manualmente ejecutar todo el tiempo, estoy tratando de hacer un ciclo. Lo cual entiendo completamente no es el uso óptimo de Postgres, pero es la herramienta que tengo. Esto es lo que tengo hasta ahora:
for i in 1..25 LOOP
insert into playtime.meta_random_sample
select i, ID
from tbl
order by random() limit 15000
end loop
Los elementos de procedimiento como los bucles no son parte del lenguaje SQL y solo se pueden usar dentro del cuerpo de una función de lenguaje de procedimiento o una declaración DO
, donde dichos elementos adicionales están definidos por el idioma de procedimiento respectivo. El valor predeterminado es PL/pgSQL , pero hay otros .
Ejemplo con plpgsql:
DO
$do$
BEGIN
FOR i IN 1..25 LOOP
INSERT INTO playtime.meta_random_sample (col_i, col_id) -- declare target columns
SELECT i, id
FROM tbl
ORDER BY random()
LIMIT 15000;
END LOOP;
END
$do$;
Si necesita optimizar el rendimiento , considere esta pregunta relacionada: