使用for循环在postgres表中输入值

时间:2014-02-03 11:28:32

标签: postgresql

我正在尝试使用for循环运行查询,我需要输入5000万条记录和一列作为固定值,其他两条作为递增,我尝试使用它。

FOR i IN 1..10 LOOP
INSERT INTO c
SELECT x,98,now()+ i * interval '1 minute'
FROM generate_series(1,50000000) AS x(msisdn);

似乎没有用 请帮助

1 个答案:

答案 0 :(得分:1)

你真的需要一个for循环吗?

INSERT INTO c
SELECT msisdn,98,now()::timestamptz(0) + i * interval '1 minute'
FROM generate_series(1,50000000) AS x(msisdn),
     generate_series(1,10) as i;

在运行它之前确保它实际上是你想要的,因为它将花费非常。例如,通过运行:

SELECT msisdn,98,now()::timestamptz(0) + i * interval '1 minute'
FROM generate_series(1,5) AS x(msisdn),
     generate_series(1,10) as i;