Как связать данные нескольких столбцов и вставить их в новый столбец одной и той же таблицы
У меня есть таблица где есть данные, но теперь нужно добавить новый столбец (я отдельно добавил ее - new_column) и в нее вставить запись собранной из других столбцов той же таблицы, пытался сделать так но не работает:
insert into table t (new_column)
select (column_1 || '-' || column_2 || '-' || column_3 || '-' || column_4) nc from table;
commit;
Ответы (2 шт):
Автор решения: Vitaliy Zlobin
→ Ссылка
В таком случае, лучше всего, подходит вычисляемый столбец:
ALTER TABLE table
ADD (nc varchar(512) GENERATED ALWAYS AS (column_1 || '-' || column_2 || '-' || column_3 || '-' || column_4) VIRTUAL);
Автор решения: МимоХодом
→ Ссылка
варианты:
буквальный:
update t set new_column= column_1 || '-' || column_2 || '-' || column_3 || '-' || column_4почему бы не использовать вьюшку? вида:
CREATE OR REPLACE VIEW new_t as select t.*, column_1 || '-' || column_2 || '-' || column_3 || '-' || column_4 as new_column from t