sql - 如何使用 SQL for 循环将行插入数据库?

标签 sql postgresql

我正在使用 Postgres,并且我有大量行需要插入到数据库中,它们仅在递增的整数方面有所不同。请原谅这个可能很愚蠢的问题,但我不是一个数据库专家。 是否可以直接输入将使用循环以编程方式插入行的 SQL 查询?

我正在尝试做的伪代码示例:

for i in 1..10000000 LOOP
  INSERT INTO articles VALUES(i)
end loop;

最佳答案

希望我已经了解您的需求(在 8.2 上测试):

INSERT INTO articles (id, name)
SELECT x.id, 'article #' || x.id
  FROM generate_series(1,10000000) AS x(id);

关于sql - 如何使用 SQL for 循环将行插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3764001/

相关文章:

postgresql - 从满足以文本形式给出的条件的整数数组中获取匹配结果

ruby-on-rails - 如何创建带有 passenger 的 docker 镜像?

sql - 在 PostgreSQL 中使用 group by 时如何获取最后一条记录

sql - 如何进行数据透视并计算列平均值

mysql - SQL 检查一列中的重复项并删除另一列

java - 当我尝试将实体映射到 postgresql 中的表时,maven 编译错误

node.js - Sequelize - 错误许多具有相同名称的关系 foreignKey - MyModel.hasMany 调用的东西不是 Sequelize.Model 的子类

sql - 我的 SQL 代码应该放在 MVC 中的什么位置

php - Symfony2主义关系数据

mysql - 我想根据属性 id 从上述 4 个表中检索所有数据