如何在postgresql中创建名为pass-through函数作为参数的视图?
我正在尝试使用函数在postgreSQL中创建一个视图。我想要一个视图名,它应该作为参数传递给函数。例如 --桌子 --函数创建一个视图如何在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
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);