вставить вычисленные значения в две таблицы с одной функцией - PullRequest
0 голосов
/ 31 января 2020

У меня есть 2 таблицы, и после вставки нескольких столбцов в первую таблицу мне нужно вычислить другие столбцы и поместить агрегированные значения во вторую таблицу

, например,

a|b|c|       d|e|f|
1|5| |
1|5| |

Мне нужно вставить и b столбцы первой таблицы в столбцы d и e во второй таблице, а столбец c в первой таблице - это значение (b- c).

У меня есть такая функция, как

declare
 cursor1 CURSOR FOR
  SELECT SUM(a) as a, SUM(b) as b
begin
 FOR cur_rec in cursor 1
  LOOP
   insert into b(d, e)
   values (cur_rec.a, cur_rec.b)
on conflict etc...

как вставить в первую таблицу c результат столбца (ab), вычисленный в этой функции? все значения ~ INT

Я хочу получить результат, подобный

a|b|c|       d|e|f|
1|5|4|       2|10|8
1|5|4|

1 Ответ

0 голосов
/ 31 января 2020

Вы, кажется, хотите два утверждения:

update table1
    set c = b - a;

update table2
    set d = t1.a,
        e = t1.b,
        f = t1.c
    from (select sum(a) as a, sum(b) as b, sum(c) as c
          from table1
         ) t1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...