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();
相关推荐
ID_180079054732 小时前
淘宝商品详情 API 接口 item_get: 高效获取商品数据的技术方案
java·前端·数据库
坐吃山猪2 小时前
Neo4j04_数据库事务
数据库·oracle·neo4j
秋氘渔2 小时前
MySQL EXPLAIN实战:6种索引失效场景验证与优化
android·数据库·mysql·索引
2301_792185882 小时前
快速熟悉后缀为yml的文件
java·linux·数据库
..过云雨2 小时前
【MySQL】4. MySQL表的操作
数据库·mysql
坐吃山猪2 小时前
Neo4j01_图数据库概念和服务器安装
服务器·数据库·oracle
山岚的运维笔记3 小时前
SQL Server笔记 -- 第86章:查询存储
笔记·python·sql·microsoft·sqlserver·flask
数据知道3 小时前
MongoDB 正则表达式查询:在 MongoDB 中实现模糊搜索与索引优化陷阱
数据库·mongodb·正则表达式
纤纡.3 小时前
从 WHERE 到 OFFSET:SQL 基本查询的核心逻辑
linux·数据库·sql