我想创建一个函数,如果p_title
不为null,那么sql3
必须与sql1
联系,否则只有sql3
正在运行。
create or replace function view(p_title text)
returns table (vbookid integer, vtitle, vpublisher) as
$body$
declare sql1 text := 'WHERE title = p_title';
declare sql3 text := 'select book_id, title, publisher from book';
begin
if(nullif(p_title,'') <> '') then
execute sql3 || sql1 || order by title;
else
execute sql3 || order by title;
end if;
end;
我尝试使用prepare
更改声明declare
,但它在sql1
无法使用。