pg 判断表或者模式是否存在 满足条件后执行创建表sql

记录一下。

是这么个事,执行初始化脚本的时候报错了 ,原因是引用了其他模式下的表,但是这个模式还没有创建,就导致我有个视图无法创建。

其实这玩意有两个方法,要不然就判断下其他模式下的脚本是否存在,存在后你再创建这个视图。还有一个就是别放初始化脚本里,放到增补脚本里面,等有了需要的模式后再去执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
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()  

  

posted @   不是安逸  阅读(238)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示