PL/pgSQL 行的游标 mod 3

PL/pgSQL Cursor for rows mod 3

所以我在 PL/pgSQL 工作,我想创建一个函数,returns 仅来自行 %3=0 的数据,我需要使用游标。

我有以下但显然不起作用

create or replace function punto6() returns void AS $$
declare
    rPers personas%ROWTYPE;             
    curs3   CURSOR  IS  select * from personas order by nombres;
BEGIN   
        FOR rPers   IN  curs3   LOOP
        if current of curs3 % 3 =0  THEN
            RAISE   NOTICE  ''Nombre:   %   %'',    rPers.nombres,  
            rPers.apellidos;
        END LOOP;                           
        return;         
end;
$$  LANGUAGE plpgsql;   
create or replace function punto6() returns void AS $$
declare
    rPers RECORD;               
    curs3   CURSOR  IS  select * from personas order by nombres;
    numero int;
BEGIN
    numero = 1;
    OPEN curs3;
    LOOP
    FETCH curs3 INTO rPers;
    EXIT WHEN NOT FOUND;
    if numero % 3 = 0   THEN
        RAISE   NOTICE  'Nombre:    %   %', rPers.nombres,  
        rPers.apellidos;
    END IF;
    numero = numero + 1;
    END LOOP;
    CLOSE curs3;
    return;         
end;
$$  LANGUAGE plpgsql;