0

我有一个表,其中一个名为的列items及其值是 ''大约 1000 行,我们如何在 PostgreSQL 中使用存储过程将每个项目重命名为一个唯一值,例如具有增量值的列,即

 items0001, items0002, items003,.....items1000

试过这个,但它不工作

UPDATE product SET items=CASE
          WHEN items='' THEN  items='items'+1
          ELSE items123

          END
4

3 回答 3

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 = '';
于 2012-10-09T12:51:14.480 回答
0
UPDATE product SET items=CASE
      WHEN len(items)>0 THEN  items='items'+1
      ELSE items123

      END
于 2012-10-09T10:24:34.727 回答
0

UPDATE product SET items=CASE WHEN len(items)>0 THEN 'items' || somesequence.nextval ELSE 项目 END

于 2012-10-09T10:27:45.333 回答