Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Теоретические аспекты и практические реализации создания, внедрения и использования баз данных, СУБД, хранилищ.
  • Страница:
  • 1
  • 2
  • 3

ТЕМА:

Re: Перекачка данных из одной таблицы в другую 12 года 8 мес. назад #2553

Тогда создай еще одну таблицу рядом с боевой, одинаковую с ней по структуре. Заливай через линк данные в нее, потом вставляй уже в боевую. Предварительно можешь почистить дубли, или просто запусти запрос по типу предложенного выше, через not exists.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Перекачка данных из одной таблицы в другую 12 года 8 мес. назад #2554

Хотел вам примерчик процедурки бросить, но, похоже, своими испытаниями я наш сервак грохнул))

...WHERE a.col1 NOT IN...
Во-первых надо b.col
А во вторых уж точно not exists, а не not in

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Перекачка данных из одной таблицы в другую 12 года 8 мес. назад #2555

А собственно чего такого страшного с PL/SQL, ниже вот примерчик (правда сам не запускал, может где и ошибся)
cursor c1 is select * from table1;
c1_var c1%rowtype;

BEGIN
open c1;
loop
fetch c1 into c1_var;
exit when c1%notfound;
begin
insert into table2
values(c1_var.table1.col1,c1_var.table1.col2,....);
commit;
exception when dup_val_on_index then
null;
end;
end loop;
close c1;
EXCEPTION
WHEN others THEN
null ;
END;
Коммит после каждой встаки должен избавить от проблем с роллбэками,
правда begin/end внутри цикла не есть хорошо, но попробовать можно...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Перекачка данных из одной таблицы в другую 12 года 8 мес. назад #2556

BadWolf: Да, неплохая идея, если дело касается одноразовой перекачки. Сделал себе табличку, влил туды и экспериментируй как хош, в случае чего можно новую слабать. Но если надо делать регулярные вливания(скажем, раз в сутки), то, сами понимаете...:-)
Kireev: Примите мои соболезнования, если б я знал, что у Вас будут проблемы...Теперь становится понятно, что есть такое перекачать из таблы в таблу. Это только на первый взгляд кажется просто...:-)Саиду: большое спасибо. Опробую я этот скрипт, скорее всего, уже в понедельник, НО мне не очень понравилось перечесление столбцов там, где VALUES. Дело в том, что в таблице их около сотни и...сами понимаете....Нельзя ли по - простому ,по - бразильски SELECT * сделать? :-)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от vetal.

Re: Перекачка данных из одной таблицы в другую 12 года 8 мес. назад #2557

Я таким макаром качала десятка полтора разных таблиц по несколько раз на дню. Точнее, вокруг всего этого были написаны процедуры, производящие все необходимые действия: очистка временной таблицы (через truncate), импорт удаленных данных, проверка на их правильность, импорт в боевые таблицы, рассылка отчетов о проделанной работе. Так что если у подобные перекачки регулярны, со временем они обрастут приготовленными скриптами на проведение всех операций.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от BadWolf.

Re: Перекачка данных из одной таблицы в другую 12 года 8 мес. назад #2558

Чтобы не перечислять столбцы, можно организовать второй курсор,
в котором вытаскивать их из представления sys.user_tab_columns
и должным образом конкатенировать их в одну строку.
после чего использовать динамический SQL.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2
  • 3
Время создания страницы: 0.303 секунд