powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Изменение значений столбца
16 сообщений из 16, страница 1 из 1
Изменение значений столбца
    #39658264
gr_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Какие есть способы максимально быстро изменить значения столбца в таблице из нескольких сот миллионов записей?
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658272
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от.
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658304
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gr_alexЗдравствуйте.
Какие есть способы максимально быстро изменить значения столбца в таблице из нескольких сот миллионов записей?Определенно
Код: plsql
1.
UPDATE
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658305
gr_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
шК0ДЕРgr_alexЗдравствуйте.
Какие есть способы максимально быстро изменить значения столбца в таблице из нескольких сот миллионов записей?Определенно
Код: plsql
1.
UPDATE



слишком долго
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658309
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gr_alex,

промежуточный столбец:
1) добавили новый столбец,
2) не торопясь проапдейтили как надо
3) махнули столбцы местами.

Ну или заморочиться по взрослому и сделать через dbms_redefinition с трансформацией данных...
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658396
alwan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
alter table TAB rename to TAB_OLD;
create table TAB as select * from TAB_OLD where 1=0;
alter session enable parallel dml;
insert /*+ append parallel */ into TAB select col1, col2, 'value', col4 from TAB_OLD;
commit;
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658401
alwan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alwan
Код: sql
1.
2.
3.
4.
5.
alter table TAB rename to TAB_OLD;
create table TAB as select * from TAB_OLD where 1=0;
alter session enable parallel dml;
insert /*+ append parallel */ into TAB select col1, col2, 'value', col4 from TAB_OLD;
commit;



Если, конечно, есть возможность недоступности данных.
Чтобы минимизировать, можно синоним создать.
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658407
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Аннаgr_alex,

2) не торопясь проапдейтили как надо


Ну-ну, а исходный столбец типа статичный?

SY.
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658411
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж, мы не ищем легких путей

Построить вьюшку с подменой значения (возможно с соответствующими триггерами)
А тем временем потихоньку менять значения в базовой таблице
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658463
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственно полезная информация была дана первым же ответом, все остальные пытаются подрочить ТС даже не пытаясь понять, что он любит, мужчину, женщину или лошадку там...
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658470
alwan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexFF__|,

В первом ответе "полезная информация" отсутствовала.
А в остальных ответах были приведены способы для различных ситуаций, раз уж автор не описал свою подробнее. Вопрос не из тех, по которым возникает желание добиться подробностей и в конце концов выбрать нужный способ. А автор, думаю, в состоянии из предложенного выбрать подходящий.
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658475
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alwanраз уж автор не описал свою подробнее.Но все кинулись метать бисер...
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658519
gr_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alwan
Код: sql
1.
2.
3.
4.
5.
alter table TAB rename to TAB_OLD;
create table TAB as select * from TAB_OLD where 1=0;
alter session enable parallel dml;
insert /*+ append parallel */ into TAB select col1, col2, 'value', col4 from TAB_OLD;
commit;



Спасибо помогло.
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658531
merch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gr_alex Спасибо помогло.

не забудь constraints и indexes перетащить.
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658671
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gr_alexalwan
Код: sql
1.
2.
3.
4.
5.
alter table TAB rename to TAB_OLD;
create table TAB as select * from TAB_OLD where 1=0;
alter session enable parallel dml;
insert /*+ append parallel */ into TAB select col1, col2, 'value', col4 from TAB_OLD;
commit;

Спасибо помогло.RTFM CREATE TABLE ... AS SELECT in Parallel (FAQ)
...
Рейтинг: 0 / 0
Изменение значений столбца
    #39658785
alwan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elicgr_alexпропущено...
Спасибо помогло.RTFM CREATE TABLE ... AS SELECT in Parallel (FAQ)

Тестировал на разных окружениях, insert быстрее. Плюс при CTAS менее удобно контролировать процесс, рост сегмента.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Изменение значений столбца
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]