PostgreSQL:嵌套循环

时间:2011-02-22 13:22:14

标签: sql postgresql loops plpgsql

是否有可能在另一个循环中有一个循环? postgres中的(嵌套循环)。类似于下面的东西:

WHILE rowCounter < totalRows LOOP

    FETCH NEXT FROM retailerIdCursor INTO retailerID;

    --FOR i IN 1..8 LOOP
    --WHILE i < 8 LOOP
    LOOP
        UPDATE sales_fact
        SET retailer_id = retailerID
        WHERE sales_id = rowCounter;

        EXIT WHEN i > 8;
    END LOOP;

    rowCounter = 1+ rowCounter;

END LOOP;

2 个答案:

答案 0 :(得分:2)

我不明白为什么你不能写

UPDATE sales_fact
   SET retailer_id = retailerID
WHERE sales_id IN(1,2,3,4,5,6,7,8);
正如弗兰克建议的那样。

根据选择retailerId的语句,您甚至可能不需要外部循环。

答案 1 :(得分:0)