меня в postgres есть две колонки, допустим А и Б И в них числа,мне нужно в новую колонку В добавить записть А-Б
Например если в А 30, а в Б 13, то в В должно получиться 30-13
Это можно сделать чреез UPDATE, но строк слишком много
UPDATE table SET В = '30-13' WHERE А = '30' and Б = '13';
Как это можно сделать быстро?)
попробуйте UPDATE table SET В = CONCAT(А, '-', Б)
Точно! Спасибо большое )
Можно сделать виртуальный столбец (функция в public схеме, принимает на вход table type) и индекс на функцию.
UPDATE table SET В = CONCAT(А, '-', Б) Это прекрасно сработало
Все зависит от цели, размера таблицы и выборки с полем В. Если выборки небольшие и нечастые то функцией посчитать на лету столбец В - быстро. + если вдруг апдейт пройдет по А или Б что станет с В? - ничего. В останется старым.
Обсуждают сегодня