CREATE FUNCTION archive_customer() RETURNS TRIGGER AS ' BEGIN INSERT INTO customer_archive VALUES ( OLD.customer_id, OLD.customer_name, OLD.phone, OLD.birth_date, OLD.balance, CURRENT_USER, now(), TG_OP ); RETURN NULL; END; ' LANGUAGE 'plpgsql';
create table mm(a int, b int); insert into mm values(1,1); insert into mm values(2,2); insert into mm values(3,3);create or replace function mmm() returns setof record as ' declare rec record; beginFOR rec IN SELECT * FROM mm LOOP RETURN NEXT rec; END LOOP; --return NULL; end; 'language 'plpgsql';select a.a,a.b from mmm() a(a int, b int);
BEGIN
INSERT INTO customer_archive
VALUES
(
OLD.customer_id,
OLD.customer_name,
OLD.phone,
OLD.birth_date,
OLD.balance,
CURRENT_USER,
now(),
TG_OP
);
RETURN NULL;
END;
' LANGUAGE 'plpgsql';
insert into mm values(1,1);
insert into mm values(2,2);
insert into mm values(3,3);create or replace function mmm() returns setof record as
'
declare
rec record;
beginFOR rec IN SELECT * FROM mm LOOP
RETURN NEXT rec;
END LOOP;
--return NULL;
end;
'language 'plpgsql';select a.a,a.b from mmm() a(a int, b int);