实现的业务
根据组织ID是否存在,添加或修改对应的小区ID
假如你录入的信息,组织ID存在就更新小区ID在小区ID后追加并用逗号隔开;
如果组织ID不存在,就直接添加就完事儿了
上代码
1.首先需要把组织ID设置为唯一,因为你是根据组织ID判断的
-- 设置供应商ID(orgid)为唯一
alter table account.ha_companybill add constraint orgid unique(orgid);
2.insert … on conflict …do update
INSERT INTO account.ha_companybill (orgid, areabills)
VALUES ( 'O0000000001', '49')
ON CONFLICT (orgid)
do UPDATE SET areabills =
account.ha_companybill.areabills || ',' || '49'
实现操作效果图
如果发现博文有问题,欢迎各位老鸟指点
-------------分割线2021.06.28---------------------------
在批量添加时,如果有重复的就忽略个鸡毛
语法是这样的
INSERT INTO 表名 (列1, 列2)
VALUES
('John', 'ticket_view'),
('John', 'ticket_modify')
ON CONFLICT (需要去重的列名) DO NOTHING;