如何使用FOR循环向PostgreSQL表中插入重复测试值?
在PostgreSQL中通过FOR循环批量插入100条测试数据
如果你想用PL/pgSQL的FOR循环实现批量插入,直接编写匿名DO块即可,无需额外创建存储过程:
DO $$ BEGIN -- 循环执行100次插入操作 FOR i IN 1..100 LOOP INSERT INTO "schema"."table"(price, different_table_foreign_key) VALUES (1, 1); END LOOP; END $$;
补充:更高效的批量插入方案
虽然你明确要求使用FOR循环,但实际批量生成测试数据时,用generate_series生成重复行的方式效率更高(避免多次单条插入的性能开销),代码也更简洁:
INSERT INTO "schema"."table"(price, different_table_foreign_key) SELECT 1, 1 FROM generate_series(1, 100); -- 生成100行重复数据批量插入
两种方式都能达成插入100条相同值数据的目标,可根据实际场景选择使用。
内容的提问来源于stack exchange,提问作者PestyLeader
相关产品推荐
相关产品推荐

