Advertisement
Guest User

hotdangthatsnasty

a guest
Apr 26th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.72 KB | None | 0 0
  1. BEGIN;
  2.  
  3. WITH object_attributes AS (
  4.     WITH object_keys AS (
  5.         SELECT uuid, json_object_keys(properties::json->'values') AS key FROM object_data
  6.     )
  7.     SELECT
  8.         object_data.uuid AS object_id,
  9.         hstore(array_agg(object_keys.key), array_agg(json_build_object('type', properties::json->'values'->object_keys.key->'attribute_type', 'value', properties::json->'values'->object_keys.key->'value')::text)) AS VALUE
  10.         FROM object_data
  11.         JOIN object_keys ON (object_keys.uuid = object_data.uuid)
  12.         GROUP BY object_data.uuid
  13. )
  14. UPDATE object_data
  15. SET attributes = attributes || object_attributes.VALUE
  16. FROM object_attributes
  17. WHERE object_data.uuid = object_attributes.object_id;
  18.  
  19. COMMIT;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement