add_columns

根据条件为某数据库下的某些业务表添加更新日期字段,以下代码适用于Highgo数据库,逻辑可以迁移

sql 复制代码
CREATE OR REPLACE FUNCTION add_common_columns()
RETURNS void
LANGUAGE plpgsql
AS $$
DECLARE
    tbl record;
BEGIN
    FOR tbl IN 
        SELECT 
            t.table_schema,  -- 添加schema名
            t.table_name
        FROM 
            information_schema.tables t
        WHERE upper(table_schema) LIKE upper('wf%')  
          --  t.table_schema NOT IN ('pg_catalog', 'information_schema')
            AND t.table_type = 'BASE TABLE'
            AND NOT EXISTS (
                SELECT 1 
                FROM information_schema.columns c 
                WHERE c.table_schema = t.table_schema  -- 添加schema条件
                AND c.table_name = t.table_name 
                AND c.column_name = 'updatetimecol'
            )
            AND NOT EXISTS (
                SELECT 1 
                FROM information_schema.columns c 
                WHERE c.table_schema = t.table_schema  -- 添加schema条件
                AND c.table_name = t.table_name 
                AND c.column_name = 'inspurflag'
            )
    LOOP
        -- 使用schema限定的表名
        EXECUTE format('ALTER TABLE %I.%I ADD COLUMN updatetimecol TIMESTAMP DEFAULT CURRENT_TIMESTAMP', 
                      tbl.table_schema, tbl.table_name);
        EXECUTE format('ALTER TABLE %I.%I ADD COLUMN inspurflag bpchar(1) DEFAULT ''0''', 
                      tbl.table_schema, tbl.table_name);
        RAISE NOTICE '已为表 %.% 添加 updatetimecol 和 inspurflag 字段', tbl.table_schema, tbl.table_name;
    END LOOP;
END;
$$;

-- 调用函数
SELECT add_common_columns();
相关推荐
上学的小垃圾1 小时前
01-数据库系统概述
数据库
二进制漫游记2 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding
2501_928996222 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
泡干脆面就番茄4 小时前
MySQL_子查询_分页查询与联合查询详解
数据库·mysql
devpotato5 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
天若有情6735 小时前
Node+MySQL小型全栈笔记项目实战课程分享
数据库·笔记·mysql
wxwx_bscxy3226 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
九月要晚安6 小时前
达梦DW与AFC对比
数据库
实战派K8S&DB6 小时前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb
实战派K8S&DB6 小时前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi