1

20,000 個の製品を含むテーブルがありました。このテーブルには、製品に関するいくつかの情報を含む JSON 列がありました。モデル名(jSON内にある)を含む上司の要件により、新しい列を追加する必要がありました。どうすればいいですか?私のテーブル product には id = 製品の id product_description = jSON があり、製品に関する多くの詳細があり、上司が jSON の外で利用できるようにしたい新しい列 model_name があります

私は通常、次のクエリを実行しました。

SELECT "productInfo"->'product_info'->>'model_name' AS model_name FROM inv.product WHERE id = 1

model_name を取得する

model_name が新しい列 model_name になるようにすべての製品を更新したいのですが、一括更新に慣れていないため、できませんでした。

私が言葉でやりたいことは次のとおりです。

UPDATE inv.product SET model_name = ( QUERY TO SELECT THE VALUE OF THE model_name ) FOR EACH ROW
4

1 に答える 1

2

Try something like:

UPDATE inv.product
SET model_name = "productInfo"->'product_info'->>'model_name'
WHERE id = 1;

Or

UPDATE inv.product
SET model_name = "productInfo"->'product_info'->>'model_name';

If you want to update all records in inv.product.

于 2013-09-25T18:41:43.933 に答える