Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

А как сделать так что бы инкремент повышался и в других таблицах? [D6, MSSQL]


Arazel ©   (2005-03-01 20:35:00) 

Вообщем есть две связаные таблицы ВОТ НАДО что при наборе в одной
таблицы повышался во всех таблицах Increment поле?


atruhin   (2005-03-03 11:14:00) [1]

>>Ильш   (03.03.05 06:06) [13]
Прежде чем писать, думать нужно, или знать про атомарные операции, многопоточность, и т.д.


Ильш   (2005-03-03 06:06:00) [2]

в ИБ генератор хранит одно лишь значение
ну так в этом варианте хранить ID можно вообще в текстовом файле (или ini файле) и прибавлять к нему единичку при каждой вставке


Danilka   (2005-03-02 14:17:00) [3]

[10] Ильш   (02.03.05 13:43)
Почему извращение? Аналог ИБ-шного генератора или Ороклового сиквенса, в самом простом случае. А так, когда один айдишник используется для разных таблиц и объектов, можно в эту-же таблицу писать, например, класс объекта, или его состояние и т.д. и использовать соответственно условиям задачи. Задачи они разные бывают. :)


Ega23   (2005-03-02 13:56:00) [4]

вставить запись во втрорую таблицу, и тут-же удалить её.


Ильш   (2005-03-02 13:43:00) [5]


> для этого создается табличка с одим автоинкрементным полем,
> вставляешь запись туда, получаешь ID записи, и вставляешь
> запись в нужную таблицу где ID - первичный ключ

ИЗВРАЩЕНИЕ !!!


Sergey13   (2005-03-02 11:58:00) [6]

2[8] atruhin ©   (02.03.05 11:53)
>Возможно другое
А возможно - это вообще развод. Столько "хороших" вопросов за вчерашний день, что наводит на размышления. 8-)


atruhin   (2005-03-02 11:53:00) [7]

Возможно другое, т.е. автору нужно получить уникальный ключ для БД а не для таблицы, сейчас это используют при проектировании ОО БД. для этого создается табличка с одим автоинкрементным полем, вставляешь запись туда, получаешь ID записи, и вставляешь запись в нужную таблицу где ID - первичный ключ


Desdechado   (2005-03-02 11:03:00) [8]

Попробую догадаться.
Автору надо связать эти таблицы между собой.
Для этого существуют внешние ключи (FOREIGN KEY) и кросс-таблицы (перекрестных ссылок).
А еще автору надо почитать теорию по проектированию БД прежде, чем садиться делать что-то из головы.


Shirson   (2005-03-02 08:01:00) [9]

В MSSQL нет типа данных NUM BERIC

Если ты добавляешь в одну таблицу, и у тебя идёт инкрементация ID, я так понимаю, это автоинкрементное поле?
А что должно меняться во второй таблице? (Если туда ничего не добавляют?)
Либо на первой ставь триггер на Ins и пиши данные во вторую таблицу, чтобы и у неё шел инкримент, либо опиши, что тебе действительно нужно, на примере. Может речь вообще про GUID идёт.


Ильш   (2005-03-02 06:16:00) [10]

продолжаем...
Table3
ID      NUMBERIC 9   (Increment)
Otchestvo  VarChar  20  (...)

Table4
ID      NUMBERIC 9   (Increment)
Ulica  VarChar  20  (...)

Table5
ID      NUMBERIC 9   (Increment)
Dom  VarChar  20  (...)

Table6
ID      NUMBERIC 9   (Increment)
Kvartira  VarChar  20  (...)


P.N.P.   (2005-03-02 01:19:00) [11]

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


Arazel   (2005-03-02 01:11:00) [12]

а по-русски? а то налопотал невесть что...
Ну например:

Table1
ID      NUMBERIC 9   (Increment)
Name    VarChar  20  (...)

Table2
ID      NUMBERIC 9   (Increment)
Family  VarChar  20  (...)

Когда я буду добовлять в Table1
должно повышатся ID обоих таблиц
но уменя повышается только та в которую я добовляю?


Desdechado   (2005-03-01 20:45:00) [13]

2 Arazel
а по-русски? а то налопотал невесть что...


Anatoly Podgoretsky   (2005-03-01 20:38:00) [14]

Настроить ссылочную целостност. За этим обратиться к администратору базы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо