我有一个表,其中一个名为items
的列,其值为''
,大约有1000行,我们如何使用存储过程在PostgreSQL中查询,将每个项重命名为唯一值像具有增量值的列,即
items0001, items0002, items003,.....items1000
试过这个,但它不起作用
UPDATE product SET items=CASE
WHEN items='' THEN items='items'+1
ELSE items123
END
答案 0 :(得分:1)
假设您的表具有名为id
的主键列,则应执行以下操作:
update product
set items = new_items.new_item
from (
select id, coalesce(items,'')||to_char(row_number() over (), 'FM00009') as new_item
from product
) as new_items
where new_items.id = p.id
and product.items is null or product.items = '';
答案 1 :(得分:0)
UPDATE product SET items=CASE
WHEN len(items)>0 THEN items='items'+1
ELSE items123
END
答案 2 :(得分:0)
更新产品SET items = CASE 当len(项目)> 0那么'项目'|| somesequence.nextval ELSE项目 END