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

Откуда:
Сообщений: 1401
Есть 2 таблицы: ряды документа и услуги. Ряды могут быть разного типа (в данном случае тип - услуга). Все что у рядов общее хранится в таблице рядов (время создания ряда, ID документа, ID типа и тд). Вопрос в том как поступить при добавлении записи в таблицу рядов? ID ряда получаем по sequence и затем надо в таблицы услуг документа добавить новую запись с полученным ID ряда.
Как бы сдеклать так чтобы запись в таблицу услуг документа добавлялась именно с тем id, который был только что добавлен в таблицу рядов, чтобы не потерять связь данных?
Заранее благодарен.
12 авг 08, 17:17    [6058142]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизировать 2 insert  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
Zmiy

Заранее благодарен.


If you use trigger to populate ID from a sequence, use:

INSERT INTO ряды VALUES(...) RETURNING ID INTO v_ID;

If you use some_sequence.nextval directly in

INSERT INTO ряды VALUES(some_sequence.nextval,...)

you could use some_sequence.currval or same RETURNING clause. Keep in mind, CURRVAL scope is session, so if you use something like connection pooling it will not work.

SY.
12 авг 08, 17:25    [6058196]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизировать 2 insert  [new]
Andrey.L
Member

Откуда: Харьков
Сообщений: 1546
Zmiy
Есть 2 таблицы: ряды документа и услуги. Ряды могут быть разного типа (в данном случае тип - услуга). Все что у рядов общее хранится в таблице рядов (время создания ряда, ID документа, ID типа и тд). Вопрос в том как поступить при добавлении записи в таблицу рядов? ID ряда получаем по sequence и затем надо в таблицы услуг документа добавить новую запись с полученным ID ряда.
Как бы сдеклать так чтобы запись в таблицу услуг документа добавлялась именно с тем id, который был только что добавлен в таблицу рядов, чтобы не потерять связь данных?
Заранее благодарен.
RETURNING?
TRIGGER?
12 авг 08, 17:26    [6058199]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизировать 2 insert  [new]
Zmiy
Member

Откуда:
Сообщений: 1401
Спасибо, буду пробовать.
12 авг 08, 17:31    [6058236]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить