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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Установить sequence.nextval как default значение, Как это сделать? 
:(
    Опции темы
azesmcar
Дата 14.8.2009, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Доброе утро,

Перевожу одну базу на Oracle, надо сделать изменения максимально безболезненными, можно ли установить sequence.nextval как default значение для первичного ключа или надо триггер создавать?э

Спасибо.
PM   Вверх
DimW
Дата 14.8.2009, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(azesmcar @  14.8.2009,  09:34 Найти цитируемый пост)
можно ли установить sequence.nextval как default значение для первичного ключа 

нет, либо на тригере, либо в процедуре.
и незабудь значения сиквенсов сдвинуть на максимальное значение идентификатора для каждой таблицы.

Цитата(azesmcar @  14.8.2009,  09:34 Найти цитируемый пост)
максимально безболезненными

тригеры для перенесенных таблиц создать не проблема:
системные таблицы и execute immediate в помощь.

PM MAIL ICQ   Вверх
azesmcar
Дата 14.8.2009, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(DimW @  14.8.2009,  09:59 Найти цитируемый пост)
тригеры для перенесенных таблиц создать не проблема:
системные таблицы и execute immediate в помощь.

Ага, кодгенераторы в помощь smile

Добавлено через 1 минуту и 47 секунд
Интересно, а почему так сделали?
PM   Вверх
DimW
Дата 14.8.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(azesmcar @  14.8.2009,  10:18 Найти цитируемый пост)
Ага, кодгенераторы

ну а как без этого ... smile

Цитата(azesmcar @  14.8.2009,  10:18 Найти цитируемый пост)
Интересно, а почему так сделали?

чесно говоря затрудняюсь ответить(видимо связано со спецификой работы сиквенса), всегда воспринимал как должное. 
гугль по этому поводу пока ничего не ответил...
PM MAIL ICQ   Вверх
azesmcar
Дата 14.8.2009, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(DimW @  14.8.2009,  11:06 Найти цитируемый пост)
чесно говоря затрудняюсь ответить(видимо связано со спецификой работы сиквенса), всегда воспринимал как должное. 
гугль по этому поводу пока ничего не ответил... 

я тоже, но при переносе с PgSQL вопрос невольно возникает. В принципе уже сгенерировал триггеры, так что вопрос решен, просто хотелось удостовериться что по другому никак.

Спасибо.
PM   Вверх
DimW
Дата 14.8.2009, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(azesmcar @  14.8.2009,  11:07 Найти цитируемый пост)
при переносе с PgSQL вопрос невольно возникает

т.е. в ПГ пожно?.

оффтоп:
а чем ПГ не устроил? просто спортивный интерес.
PM MAIL ICQ   Вверх
azesmcar
Дата 14.8.2009, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(DimW @  14.8.2009,  11:45 Найти цитируемый пост)
т.е. в ПГ пожно?.

Код

CREATE SEQUENCE foo START 1;
CREATE TABLE bar (id integer PRIMARY KEY DEFAULT nextval('foo'));

да, что-то вроде этого...

Цитата(DimW @  14.8.2009,  11:45 Найти цитируемый пост)
оффтоп:
а чем ПГ не устроил? просто спортивный интерес. 

Меня? Да меня все устраивает smile за что платят тем и занимаюсь. smile 
А вообще, понятия не имею почему компания решила перенести проект на Oracle, это было еще до моего появления здесь, потихоньку переносят..видимо все просто до безобразия..наняли одного архитектора, тот все сделал на Pg потому что только это и знал, потом тот смотался, наняли другого - тот все забраковал и решил переделать на Oracle (так как Pg не знал)..ну так далее, ждем следующего пришествия, видимо скоро придется все менять на Microsoft SQL Server.
PM   Вверх
DimW
Дата 14.8.2009, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(azesmcar @  14.8.2009,  12:09 Найти цитируемый пост)
да, что-то вроде этого...

ага понял, спасибо.

Цитата(azesmcar @  14.8.2009,  12:09 Найти цитируемый пост)
видимо все просто до безобразия

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

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

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

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

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

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


 




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


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

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