Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 SQL задача. Перенос данных из одной таблицы в другую.  [new]
endy
Member

Откуда:
Сообщений: 3
Помогите решить данную задачу. Есть две таблицы. Необходимо перенести одну строку из первой таблицы в другую и одновременно удалить её из первой.
Обычным update как и merge решить не удалось, так как хоть и вторая таблица обновляется, но строка из первой таблицы остаётся, а нужно чтобы оно удалилось одновременно с добавлением этой же строки во вторую таблицу. Возможно ли решить эту задачу одной командой? Спасибо.
27 мар 20, 01:07    [22106638]     Ответить | Цитировать Сообщить модератору
 Re: SQL задача. Перенос данных из одной таблицы в другую.  [new]
-2-
Member

Откуда:
Сообщений: 15279
endy
одной командой
Что это?
27 мар 20, 01:15    [22106639]     Ответить | Цитировать Сообщить модератору
 Re: SQL задача. Перенос данных из одной таблицы в другую.  [new]
oragraf
Member

Откуда: Moscow
Сообщений: 1255
endy,

exchange partition
27 мар 20, 02:53    [22106648]     Ответить | Цитировать Сообщить модератору
 Re: SQL задача. Перенос данных из одной таблицы в другую.  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29738
endy
Возможно ли решить эту задачу одной командой?
Почитай про одну транзакцию.
27 мар 20, 07:42    [22106681]     Ответить | Цитировать Сообщить модератору
 Re: SQL задача. Перенос данных из одной таблицы в другую.  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2260
endy,

1) удалять в триггере
2) создать вью и в инстед офф удалять

....
stax
27 мар 20, 09:58    [22106717]     Ответить | Цитировать Сообщить модератору
 Re: SQL задача. Перенос данных из одной таблицы в другую.  [new]
endy
Member

Откуда:
Сообщений: 3
Elic,

Одной транзакцией я бы смог это сделать, но дело в том что база сконструирована так что я из за constraint-ов не могу вывести строку в таблицу 2 пока она находится в таблице 1. Поэтому update а потом delete не проходит.
27 мар 20, 12:35    [22106845]     Ответить | Цитировать Сообщить модератору
 Re: SQL задача. Перенос данных из одной таблицы в другую.  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 7980
endy
Elic,

Одной транзакцией я бы смог это сделать,
но дело в том что база сконструирована так что я из за constraint-ов
не могу вывести строку в таблицу 2 пока она находится в таблице 1.
Поэтому update а потом delete не проходит.

CONSTRAINT ... DEFERRABLE [INITIALLY DEFERRED]...
Целостность проверяется в момент выполнения COMMIT.
27 мар 20, 12:57    [22106862]     Ответить | Цитировать Сообщить модератору
 Re: SQL задача. Перенос данных из одной таблицы в другую.  [new]
Кобанчег
Member

Откуда: Рахів
Сообщений: 693
SQL*Plus
endy
Elic,

Одной транзакцией я бы смог это сделать,
но дело в том что база сконструирована так что я из за constraint-ов
не могу вывести строку в таблицу 2 пока она находится в таблице 1.
Поэтому update а потом delete не проходит.

CONSTRAINT ... DEFERRABLE [INITIALLY DEFERRED]...
Целостность проверяется в момент выполнения COMMIT.
Какое интересно ограничение не позволяет добавить "строку в таблицу 2 пока она находится в таблице 1"?
27 мар 20, 13:07    [22106873]     Ответить | Цитировать Сообщить модератору
 Re: SQL задача. Перенос данных из одной таблицы в другую.  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29738
endy
база сконструирована так что я из за constraint-ов не могу вывести строку в таблицу 2 пока она находится в таблице 1
Тебе придётся пояснить, как это реализовано.
endy
Поэтому update а потом delete не проходит.
Ну так сделай наоборот.
27 мар 20, 13:09    [22106875]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить