PostgreSQL PSLQ 从表中选择变量 for 循环



尝试使用变量tn作为表名是选择查询

我试过把变量名tn放在|| tn || 语法 我尝试将变量名称 tn 放入 :tn 语法

do $$
declare tn varchar ;
begin
for tn in select tablename from gil_reb_tabn_list
loop
EXECUTE 'select count (*) from tn';
end loop;
end;
$$;

错误是:

psql:readme_mas_list.sql:9: ERROR:  relation "tn" does not exist
LINE 1: select count (*) from tn
^
QUERY:  select count (*) from tn
CONTEXT:  PL/pgSQL function inline_code_block line 6 at EXECUTE

我希望使用 tn 作为表名变量来循环选择查询。

你可以把它改写为:

do $$
declare tn varchar ;
begin
for tn in select tablename from gil_reb_tabn_list
loop
EXECUTE FORMAT('select count (*) from %I', tn);
end loop;
end;
$$;

数据库<>小提琴演示

最新更新