Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 Уникальные значения  [new]
Wett
Member

Откуда:
Сообщений: 27
Здравствуйте!

Подскажите, какие есть способы в db2 генерировать уникальные значения для суррогатных ключей? Какие у этих способой преимущества и недостатки. Спасибо!
4 июн 06, 23:09    [2739521]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
risfek
Member

Откуда:
Сообщений: 143
сиквенсы?
или я вопрос неправильно понял
5 июн 06, 05:49    [2739723]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
Wett
Member

Откуда:
Сообщений: 27
в числе, какой у них и триггеров синтаксис для db2? Нет ли другого способа автоинкремента?
5 июн 06, 08:15    [2739800]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
risfek
Member

Откуда:
Сообщений: 143
смотрите тынц
ну прямо на табличку генератор
5 июн 06, 10:28    [2740151]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
nkulikov
Guest
Indentity
5 июн 06, 10:41    [2740185]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
db2db2
Guest
identity only one per table (seem)
5 июн 06, 11:42    [2740415]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
nkulikov
Guest
В исходном вопросе не уточнялось для одного или нескольких ключей :)
5 июн 06, 12:30    [2740595]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
При наличии identity полей восстанавливать базу геморройно.
sequence - лучшее решение

--
Антон
Per rectum ad astrum
5 июн 06, 21:26    [2743070]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2550
Anton Demidov
При наличии identity полей восстанавливать базу геморройно.

А в чём проблема?
6 июн 06, 08:43    [2743566]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4946
Victor Metelitsa
А в чём проблема?

Проблема может быть в том, что если определять поле как generated always, то db2move не загрузит такую таблицу, а это не есть удобно.
Но это, конечно, только если вдруг решиться на смену платформы.
Ну и после загрузки надо рестартовать генерацию значений типа:
ALTER TABLE ... 
ALTER ID RESTART WITH "max_value_of_id_+_1";
6 июн 06, 09:33    [2743637]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2550
Но ведь речь-то о восстановлении шла, а не о смене платформы с db2move.
6 июн 06, 09:52    [2743684]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
Mark Barinstein частично объяснил проблему восстановления при наличие identity field. Я же имел в виду наличие foreign keys на это поле. После восстановления мастер-таблицы с generate always identity field может "перенумероваться" (если были пропуски в нумерации после удаления строк). На mainframe DB2 такое у нас было. У вас наверняка DB2 for LUW. Протестируйте эту ситуацию у себя - там делов-то на несколько минут.

Нам на семинаре Susan Lawson рекомендовала использовать именно sequence, а не identity field.

--
Антон
Per rectum ad astrum
6 июн 06, 19:52    [2747068]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2550
Звучит как-то странно.

Восстановление - это restore, затем rollforward. С какой стати там что-то должно перенумероваться???
6 июн 06, 21:50    [2747290]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
А хрен его знает. После её предостережения мы отбросили такой способ. Я потому и советовал выше попробовать Wett-у восстановиться при наличии foreign keys. Может это был глюк конкретно DB2 for z/OS, а у вас всё гладко проходит.

P.S.
Мне, как ораклисту SEQUENCE привычнее.

--
Антон
Per rectum ad astrum
6 июн 06, 22:14    [2747320]     Ответить | Цитировать Сообщить модератору
 Re: Уникальные значения  [new]
ggv
Member

Откуда:
Сообщений: 1810
для восстановаления - абсолютно фиолетово, а вот на import/load влияет.
А Anton и соврет недорого возьмет.
6 июн 06, 22:30    [2747343]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить