Postgre 固定值查询.sql

– 匹配结果表
CREATE TABLE COUNTRY_DATA
(
“TABLE_NAME” VARCHAR(512) NULL,
“COLUMN_NAME” VARCHAR(512) NULL
);

– 扫描表
CREATE TABLE COUNTRY_DATA_TABLE_NAME
(
“TABLE_NAME” VARCHAR(512) NULL,
“COLUMN_NAME” VARCHAR(512) NULL,
“DTCREATEDTIME” timestamp NULL
);

DO $$
DECLARE
table_name text;
column_name text;
query text;
result_count integer;
BEGIN
FOR table_name, column_name IN
SELECT
c.table_name,
c.column_name
FROM
information_schema.columns c
WHERE
c.table_schema = ‘xxxxxx’ – 可选:指定特定的模式
AND c.table_catalog = current_database() – 可选:指定特定的数据库
and c.data_type not IN (‘numeric’, ‘timestamp’, ‘text’)
and c.table_name not like (‘qrtz_%’)
and c.table_name not like (‘ids_%’)
and c.table_name not in (‘interface_log’,‘country_data’,‘country_data_table_name’)
and c.COLUMN_NAME not in (‘guid’, ‘st_created_by’, ‘st_updated_by’, ‘st_data_status’)
order by c.table_name,c.column_name
LOOP
query := format(
‘SELECT COUNT(*) FROM %I WHERE %I::text LIKE ‘’%%AEOCN2101933478%%’‘’,-- 需要查询的值
table_name,
column_name
);

            EXECUTE query INTO result_count;
                insert into COUNTRY_DATA_TABLE_NAME values (table_name, column_name, now());
            IF result_count > 0 THEN
               insert into COUNTRY_DATA values (table_name, column_name);
            END IF;
        END LOOP;
END$$;
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值