如何批量INSERT到Postgres中带循环的表

时间:2014-12-24 20:13:55

标签: postgresql

要测试针对数据的报告,我想将测试数据插入到Postgres SQL中的表中。

例如:

INSERT INTO call_logs (phonenumber,timeofcall) VALUES ('+12121001001','2014-12-23T07:01:00.000+00:00')

但我想循环,比方说59次,电话号码2121001001,1002,1003等,电话时间为07:01,07:02,07:03等。

如何使用循环执行此操作?

感谢。

1 个答案:

答案 0 :(得分:2)

您不需要循环。使用generate_series:

insert into call_logs (column1, phonenumber,timeofcall)
select
    'constant_value',
    '+' || generate_series(12121001001, 12121001059),
    generate_series(
        '2014-12-23t07:01:00.000+00:00'::timestamp,
        '2014-12-23t07:59:00.000+00:00',
        '1 minute'
    )