pgsql使用Do$$语句判断表中数据某个字段里是不是包含固定值,先把原来的值去除最后一个字符后,并给其原来的值拼接赋值

轮询查询,并修改

可重复执行

// pgsql使用Do$$语句判断表中数据某个字段里是不是包含固定值,先把原来的值去除最后一个字符后,并给其原来的值拼接赋值
//column_name NOT LIKE '%123%' 是为了脚本可重复执行
DO $$
DECLARE
    v_row RECORD;
BEGIN
    FOR v_row IN SELECT * FROM table_name  WHERE column_name LIKE '%xxx%' and column_name NOT LIKE '%123%' LOOP
        v_row.column_name := substring(v_row.column_name::text from 1 for length(v_row.column_name::text) - 1) || '123';
        UPDATE table_name SET column_name = v_row.column_name WHERE ctid = v_row.ctid;
    END LOOP;
END $$;
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐