记录一下PostgreSQL的拓展字段(JsonB字段)的update写法

/*不论做什么UPDATE操作,一定要备份*/

样例1:直接根据值更新 

1 UPDATE
2     tablename 
3 SET
4     ext = (ext||('{"id" :"12345678"}')::jsonb)

样例2:根据中间表更新

【此步骤一定要小心,做错了会把整个ext字段给清空掉】

复制代码
WITH a AS(

SELECT
  , uid
  , productid pid
  , standard_rate rate
   , year_sales
   , year_plan_sale
FROM 
    tablename1 tb

)
UPDATE 
    tablename2 tn
SET
     product = a.pid
      ,ext = ext||(('{
        "rate" :"'||a.rate||'","year_sales" :"'||a.year_sales||'","year_plan_sale" :"'||a.year_plan_sale||'"
      }')::jsonb)
FROM 
    a
WHERE 
    a.uid = tn.id                        
复制代码

 

posted @   丁丁要学习  阅读(447)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示