2015-12-22 3 views
1

Можно ли обновить одно измерение для куба?Обновить/создать postgres cube

Я хотел бы сделать что-то вроде этого:

UPDATE mycubes a SET 
    data= 
    set_ur_dim_cube_bounds(4, cube_ur_coord(b.data, 4)) 
FROM 
    myothercubes b 
WHERE 
    a.id = b.id; 

EDIT ж/подробнее:

Я установил расширение куба с помощью create extension if not exists cube и таблица была создана с чем-то вдоль линий :

CRAETE TABLE mycubes (id serial primary key, data cube); 
+0

Вы хотите обновить одну строку дочерней таблицы, используя родительскую таблицу? Пожалуйста, объясните подробнее – Monty

ответ

2

Я думаю, что самый простой способ для вас - получить старое значение, изменить одно измерение и обновить полное значение куба.

data= 
    cube(
     array[cube_ll_coord(a.data, 1), cube_ll_coord(a.data, 2), 
       cube_ll_coord(a.data, 3), cube_ll_coord(a.data, 4)], 
     array[cube_ur_coord(a.data, 1), cube_ur_coord(a.data, 1), 
       cube_ur_coord(a.data, 3), cube_ur_coord(b.data, 4)] 
    ) 
+0

Я собираюсь идти по этому маршруту. Я добавил часть инструкции SQL, которую я использую в ответе. –

+0

Надеюсь, что разработчики PostgreSQL будут создавать функцию для обновления одного элемента в будущем. – Harlam