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();
相关推荐
冉冰学姐17 小时前
基于ssm的技能比赛报名管理系统29817vn0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
java·数据库·spring·ssm 框架应用
小小码农Come on19 小时前
Qt Creator + MSVC 2022 64bit 配置 Dump 文件生成与分析流程
数据库·qt
qiuyuyiyang19 小时前
【MySQL】环境变量配置
数据库·mysql·adb
jgyzl21 小时前
2026.3.11MyBatis-Plus基本使用与思考
java·数据库·mybatis
RDCJM21 小时前
【MySQL】在MySQL中STR_TO_DATE()以及其他用于日期和时间的转换
android·数据库·mysql
vanvivo21 小时前
redis 使用
数据库·redis·缓存
加成BUFF1 天前
解决MySQL/MariaDB忘记root密码:完整重置教程(XAMPP/Windows版)
数据库·mysql·xampp
杰克尼1 天前
苍穹外卖--day10
java·数据库·spring boot·mybatis·notepad++
dreamread1 天前
完美解决phpstudy安装后mysql无法启动
数据库·mysql
小江的记录本1 天前
【SQL】多表关系与冷热数据(全维度知识体系)
数据库·sql·mysql·数据库开发·数据库架构