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

Откуда: из Минска
Сообщений: 75
суть в следующем, в таблицу вставляется новая запись, ID соответсввенно берется из сиквенса. В остальные таблицы вставляется ссылка на неё.

я нашел следующий способ:

select sq_s.nextval into id from dual;
insert into ... values(id,...)
т.е. кидаем в переменную, в ней храним и записываем в таблицы. Я так понимаю, что это наиболее удобный способ? Просто после сиквеловского @@identity несколько непривычно.
18 мар 08, 17:51    [5426025]     Ответить | Цитировать Сообщить модератору
 Re: вставка нового id в несколько таблиц  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
INSERT INTO...
VALUES (...)
RETURNING id INTO var1;
18 мар 08, 17:52    [5426042]     Ответить | Цитировать Сообщить модератору
 Re: вставка нового id в несколько таблиц  [new]
Баранкин
Member

Откуда: из Минска
Сообщений: 75
о! спасибо огромное :)
18 мар 08, 17:58    [5426094]     Ответить | Цитировать Сообщить модератору
 Re: вставка нового id в несколько таблиц  [new]
Баранкин
Member

Откуда: из Минска
Сообщений: 75
а ещё вопрос, а в случае
insert
select
данная конструкция не работает?
18 мар 08, 18:09    [5426187]     Ответить | Цитировать Сообщить модератору
 Re: вставка нового id в несколько таблиц  [new]
Zloxa
Member

Откуда: СССР ☭
Сообщений: 1033
SQL> create sequence test_sec;
 
Sequence created
SQL> select test_sec.nextval from dual;
 
   NEXTVAL
----------
         1
SQL> select test_sec.currval from dual connect by level <= 2;
 
   CURRVAL
----------
         1
         1
SQL> select test_sec.nextval from dual;
 
   NEXTVAL
----------
         2
SQL> select test_sec.currval from dual connect by level <= 2;
 
   CURRVAL
----------
         2
         2
18 мар 08, 18:09    [5426190]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить