2017-09-28 4 views
1

私はこのようなテキストのセットを返します。このコードjson_object_keys('{"A": 1, "B": 0, "C": 5}'::json)持っている:このjson_object_keys結果に基づいてテキストセットからレコードセットを作成する方法は?

json_object_keys 
---------------- 
| A | 
----- 
| B | 
----- 
| C | 
----- 

を、私はどこのテーブルの列に更新を実行するには、これらをループし、一時的なレコードセットまたはテーブルを作成したいです各キーに等しい。 レコードセットを作成するにはどうすればいいですか?実際に

update my_table 
set some_column = some_value 
where key_column in (
    select json_object_keys('{"A": 1, "B": 0, "C": 5}'::json)); 

、サーバーが実行中にサブクエリからメモリに一時的なレコードセットを作成します:あなたはIN (subquery)表現、例を使用することができますので、

答えて

1

通常は、明示的に一時テーブルを作成する必要はありませんクエリのしかし

、あなたがCREATE TABLE AS:

create temporary table my_temp_table as 
select json_object_keys('{"A": 1, "B": 0, "C": 5}'::json); 
を使用し、名前の一時テーブルを必要としない場合
関連する問題