我正在尝试使用函数在postgreSQL中创建一个视图。我想要一个视图名称,它应该作为参数传递给函数。例如..
- 表
create table test
( rollno int,
name text);
- 创建视图的功能
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;
答案 0 :(得分:2)
您需要PL / PgSQL的动态SQL EXECUTE
命令:
EXECUTE format('create or replace view %I as ...', roll::text);
请参阅文档中的dynamic SQL in PL/PgSQL。