3
我有一个plpgslq
功能,它执行一些数据处理,并且想写一个for
循环,但是我的表名在设计时是不知道的。有没有什么可能的方法来实现这一目标?这里是什么,我想实现示例代码段:For循环与Postgresql 9.1中的动态表名称?
-- Function: check_data()
-- DROP FUNCTION check_data();
CREATE OR REPLACE FUNCTION check_data()
RETURNS character varying AS
$BODY$declare
dyn_rec record;
tbl_name record;
begin
-- sample dynamic tables
tbl_name := 'cars';
tbl_name := 'trucks';
tbl_name := 'bicycles';
for dyn_rec in select * from format($$s%$$,tbl_name) loop
raise notice 'item is %',dyn_rec.item_no;
end loop;
return 'Processing Ok';
end;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION check_data()
OWNER TO postgres;
感谢帕维尔Stehule,“执行”这正是我需要的,现在工程确定。 – arcull
arcull,或许你应该把它标记为答案。 :) – 425nesp