我正在尝试使用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);
似乎没有用 请帮助
答案 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;