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();
相关推荐
C'ᴇsᴛ.小琳 ℡2 小时前
高性能NoSQL
数据库·nosql
i220818 Faiz Ul2 小时前
动漫商城|基于springboot + vue动漫商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·动漫商城系统
iNgs IMAC2 小时前
redis 使用
数据库·redis·缓存
TDengine (老段)4 小时前
TDengine IDMP 可视化 —— 面板
大数据·数据库·人工智能·物联网·ai·时序数据库·tdengine
卓怡学长4 小时前
m315基于java的水果网上商城的开发与设计
java·数据库·spring·tomcat·maven·intellij-idea
刘~浪地球4 小时前
Redis 从入门到精通(八):有序集合操作详解
数据库·chrome·redis
fe7tQnVan4 小时前
MyBatis-动态sql与高级映射
数据库·sql·mybatis
计算机安禾4 小时前
【数据结构与算法】第28篇:平衡二叉树(AVL树)
开发语言·数据结构·数据库·线性代数·算法·矩阵·visual studio
道清茗6 小时前
【MySQL知识点问答题】高级复制技术
数据库·mysql
IT邦德6 小时前
Oracle备份恢复概览
数据库·oracle