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();
相关推荐
weelinking1 小时前
【2026】08_Claude与版本控制:Git协作技巧
数据库·人工智能·git·python·数据挖掘·交互·cloudera
黄焖鸡能干四碗5 小时前
固定资产管理系统建设方案和源码(Java源码)
大数据·数据库·人工智能·物联网·区块链
JoneBB6 小时前
ABAP Webservice连接
运维·开发语言·数据库·学习
解决问题no解决代码问题6 小时前
从乱码到脱敏导出:TiDB CSV 导出实战全指南
数据库
未若君雅裁6 小时前
MySQL高可用与扩展-主从复制读写分离分库分表
java·数据库·mysql
2401_867623986 小时前
CSS Flex布局中如何设置子元素间距_掌握gap属性的现代用法
jvm·数据库·python
月落归舟6 小时前
一篇文章了解Redis内存淘汰机制与过期Key清理
数据库·redis·mybatis
phltxy7 小时前
Redis 事务
数据库·redis·缓存
康乾隆7 小时前
SQL Server Always On 重新添加从库步骤
数据库·sqlserver
环流_8 小时前
redis核心数据类型在java中的操作
java·数据库·redis