Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / можно ли сделать Insert from delete? / 5 сообщений из 5, страница 1 из 1
11.03.2008, 15:50
    #35182908
Alexey Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли сделать Insert from delete?
DB2 8.2 express-c LUW

есть 2 идентичные таблицы tt1 и tt2. Надо перенести данные из одной в другую с удалением из первой.

можно ли сделать insert into tt2 select * from old table (delete from tt1 where ...условие...) ?

пока получилось вот так:
with temp1 as
(
select * from old table (delete from tt1)
)
select * from new table(insert into tt2 select * from temp1);

но как то смущает лишний select * from new table...
есть идеи? или может все это можно как то по другому сделать, например через merg (еще не смотрел)
...
Рейтинг: 0 / 0
11.03.2008, 16:13
    #35183000
тлгдшлщм
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли сделать Insert from delete?
Поищи в этом форуме есть пример

Что-то типа

with del as (select * from OLD table (delete from.....)),
ins as ( select * from NEW TABLE ( insert to from del))

select * from ins
...
Рейтинг: 0 / 0
11.03.2008, 16:19
    #35183021
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли сделать Insert from delete?
Alexey Kuznetsovно как то смущает лишний select * from new table...Не получится по-другому.
Оно не должно вас смущать.
...
Рейтинг: 0 / 0
12.03.2008, 04:53
    #35183985
Alexey Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли сделать Insert from delete?
Mark Barinstein Alexey Kuznetsovно как то смущает лишний select * from new table...Не получится по-другому.
Оно не должно вас смущать.

Т.е. если никто фетчить не начнет из этого "лишнего" селекта, то db2 и делать ничего небудет?
Т.е. лишнего расхода ресурсов не случится?
...
Рейтинг: 0 / 0
12.03.2008, 10:14
    #35184277
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли сделать Insert from delete?
Alexey KuznetsovТ.е. если никто фетчить не начнет из этого "лишнего" селекта, то db2 и делать ничего небудет?
Т.е. лишнего расхода ресурсов не случится?Да.
Вставка происходит при открытии курсора.
В статическом sql вы можете написать
Код: plaintext
1.
2.
3.
...
select  1  into l_var 
from new table(insert into tt2 select * from temp1) t
fetch first  1  row only;
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / можно ли сделать Insert from delete? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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