FOR循环

最近更新时间: 2025-02-18 16:02:00

  • 复制
    复制成功
postgres=# CREATE OR REPLACE PROCEDURE p_for()  AS
$$    
BEGIN           
    FOR i IN 1..3 LOOP
        RAISE NOTICE 'i = %',i;
    END LOOP;
END;
$$
LANGUAGE plpgsql;
CREATE PROCEDURE
postgres=# CALL p_for();
NOTICE:  i = 1
NOTICE:  i = 2
NOTICE:  i = 3
CALL
postgres=# CREATE OR REPLACE PROCEDURE p_for_reverse()  AS
$$    
BEGIN           
    FOR i IN REVERSE 3..1 LOOP
        RAISE NOTICE 'i = %',i;
    END LOOP;
END;
$$
LANGUAGE plpgsql;
CREATE PROCEDURE
postgres=# CALL p_for_reverse();
NOTICE:  i = 3
NOTICE:  i = 2
NOTICE:  i = 1
CALL
使用REVERSE递减
postgres=# CREATE OR REPLACE PROCEDURE p_for_by()  AS
$$    
BEGIN           
    FOR i IN 1..8 BY 2 LOOP
        RAISE NOTICE 'i = %',i;
    END LOOP;
END;
$$
LANGUAGE plpgsql;
CREATE PROCEDURE
postgres=# CALL p_for_by();
NOTICE:  i = 1
NOTICE:  i = 3
NOTICE:  i = 5
NOTICE:  i = 7
CALL
postgres=#
#使用BY设置步长