如何在postgresql中创建名为pass-through函数作为参数的视图?

如何在postgresql中创建名为pass-through函数作为参数的视图?,sql,postgresql,Sql,Postgresql,我正在尝试使用函数在postgreSQL中创建一个视图。我想要一个视图名,它应该作为参数传递给函数。例如 --桌子 --函数创建一个视图 create or replace function fun_view(roll int) returns void as $Body$ declare rec record; begin for rec in select * from test where rollno=roll loop create o

我正在尝试使用函数在postgreSQL中创建一个视图。我想要一个视图名,它应该作为参数传递给函数。例如

--桌子

--函数创建一个视图

create or replace function fun_view(roll int)
returns void as
$Body$
declare
       rec record;
begin
       for rec in select * from test where rollno=roll loop
           create or replace view "---Name of view should be roll---" as 
           select rollno from test;
       end loop;
$Body$
language plpgsql;

您需要PL/PgSQL的动态SQL
EXECUTE
命令:

EXECUTE format('create or replace view %I as ...', roll::text);

见:在文档中。

非常感谢克雷格·林格先生。它真的很好用。
EXECUTE format('create or replace view %I as ...', roll::text);