pg 判断表或者模式是否存在 满足条件后执行创建表sql
记录一下。
是这么个事,执行初始化脚本的时候报错了 ,原因是引用了其他模式下的表,但是这个模式还没有创建,就导致我有个视图无法创建。
其实这玩意有两个方法,要不然就判断下其他模式下的脚本是否存在,存在后你再创建这个视图。还有一个就是别放初始化脚本里,放到增补脚本里面,等有了需要的模式后再去执行。
create or replace function create_view_a() returns void as $$ declare viewExist integer;
begin
select count(1) into viewExist FROM pg_namespace WHERE nspname = 'basedata'; --判断条件,可自己定义其他条件
if viewExist != 0 then
execute
'CREATE VIEW view_a AS
SELECT
aaa,bbb,ccc
FROM basedata.table_a;';
end if;
end;
$$ language plpgsql;
SELECT create_view_a()

浙公网安备 33010602011771号