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 に答える