Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> первичные ключи 
V
    Опции темы
Petro123
Дата 4.9.2007, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 6.4.2007

Репутация: нет
Всего: нет



Есть 2 таблицы отношение один к одному,
При занесении данных в первую таблицу для первичного ключа срабатывает соотв тригер кот генерирует член последовательности, Вобщем все как обычно, 
Вот, 
Далее нужно во вторую таблицу добавить тоже данные причем код такой же, 
Как его узнать?
Seq.NextVal-1 как то тупо, тем более что в последовательности могут быть пропуски

Добавлено через 2 минуты и 8 секунд
может быть в тригере записывать в глобальную переменную,

Добавлено через 4 минуты и 53 секунды
или в вспомогательную таблицу
PM MAIL   Вверх
DimW
Дата 4.9.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Код

declare
  v_id number;
begin
  insetr into table1
        (id, name)
  values(seq.nextval, 'test')
  returning id into v_id;
  -- дальше v_id используешь по назначению
end;




Это сообщение отредактировал(а) DimW - 4.9.2007, 16:06
PM MAIL ICQ   Вверх
jsa
Дата 5.9.2007, 04:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 1
Всего: 20



если все в одной транзакции, то почему не использовать seq.currval


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
Petro123
Дата 5.9.2007, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 6.4.2007

Репутация: нет
Всего: нет



Все оказывается значительно проще, спасибо.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.