【问题标题】:For loop in SQLSQL中的for循环
【发布时间】:2011-01-17 09:20:57
【问题描述】:

大家好 我想在一个表中插入 70 条记录 值为 value1,value2,...value70 我想知道是否可以通过 SQL 查询来完成此操作 我正在使用 postgresql 数据库。 提前致谢。

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:

    价值观从何而来?它们是任意值吗?只需使用多个插入语句,例如:

    INSERT INTO t (colname) VALUES ('value1'), ('value2'), ..., ('value70');
    

    它们是可以从整数 1 到 70 生成的值吗?如果是,使用集合返回函数generate_series

    INSERT INTO t (colname) SELECT 'value'||i FROM generate_series(1,70) AS s(i);
    

    它们只是在其他表中吗?正常引用即可:

    INSERT INTO t (colname) SELECT val FROM othert;
    

    【讨论】:

    • 这些值是从1-70生成的,如果我想在记录中插入其他列中的其他值,语法如何?
    • 您只需将列和值(作为 i 的表达式)添加到列列表中。例如,如果您想插入 (1,1)、(2,4)、(3,9) 等,您只需执行 "INSERT INTO t(n, nsqr) SELECT i, i*i FROM generate_series AS s(i)"。
    • 非常感谢您的反馈,但我希望第二个值是固定的,例如“测试”,那会怎样。
    • 简单,只需使用“... SELECT i, 'testing' FROM generate_series ...”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    相关资源
    最近更新 更多