двумя update операциями.  Как этот:
                  
                  
                  
                  
                  
                  create or replace procedure procedure_name()
                  
                  
                  language plpgsql
                  
                  
                  as $$
                  
                  
                      begin
                  
                  
                          update table_name set something;
                  
                  
                          update same_table_name set something;
                  
                  
                          commit;
                  
                  
                      end; $$;
                  
                  
                  
                  
                  
                  Вопрос: Сперва полностью выполнится первый update или эти 2 апдейта будут выполняться по очереди как в for лупе?
                  
                  
                
что за по очереди?
1. Сейчас сперва полностью выполнится первый. 2. Все результаты первого будут видны во втором, это вполне гарантировано семантикой p/pgsql. 3. С другой стороны, я бы не стал ставить много, что в какой-то момент не появится оптимизацыя, что второй начнёт что-то делать/обновлять параллельно с первым (оставляя справедливым пункт 2. при этом).
Обсуждают сегодня