postgresql – Postgres FOR LOOP

前端之家收集整理的这篇文章主要介绍了postgresql – Postgres FOR LOOP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从表中获取15,000个ID的25个随机样本。而不是每次手动按下运行,我试图做一个循环。我完全理解的不是Postgres的最佳使用,但它是我拥有的工具。这是我到目前为止:
for i in 1..25 LOOP
   insert into playtime.Meta_random_sample
   select i,ID
   from   tbl
   order  by random() limit 15000
end loop
@H_502_3@
@H_502_3@
Procedural elements like loops不是sql语言的一部分,只能在程序语言函数DO语句的内部使用,其中这些附加元素由相应的过程语言定义。默认为 PL/pgSQL,但 there are others

使用plpgsql的示例:

DO
$do$
BEGIN 
FOR i IN 1..25 LOOP
   INSERT INTO playtime.Meta_random_sample (col_i,col_id) -- use col names
   SELECT i,id
   FROM   tbl
   ORDER  BY random()
   LIMIT  15000;
END LOOP;
END
$do$;

如果您需要优化性能,请考虑以下相关问题:

> Best way to select random rows PostgreSQL

@H_502_3@ 原文链接:https://www.f2er.com/postgresql/193285.html

猜你在找的Postgre SQL相关文章