Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Целостность и транзакция   Найти похожие ветки 

 
adias ©   (2004-02-25 16:13) [0]

Есть 2 таблицы (А и Б).
Ключ таблицы А - ID
Ключ таблицы Б - ID1,+ поле ID1 для связи с ID1
таблицы А
****************
Транзакция.
 вставка записи в таблицу А (формирование max(ID)+1)
 вставка значения в таблицу Б (формирование max(ID1)+1)
КОНЕЦ
ТРАНЗАКЦИИ
***************************
ОПИСАНИЕ: если два юзера одновременно начнут транзакцию,
то один посылается нах... (ПРОВЕРЯЛ)
ВОПРОС: как избежать?
Примечание: пользоваться
специфическими функциями конкретной БД нельзя (там identity всякие и т.п.) и системными таблицами
тоже....


 
Sandman25+1   (2004-02-25 16:26) [1]

В ANSI SQL нет ни генераторов, ни автоинкрементных полей.
Значит, придется реализовывать своим механизмом (например, делать аналог генератора через таблицу из одного поля и одной записи).


 
ADIAS ©   (2004-02-25 17:26) [2]

получается надо делать еще одну таблицу, для всякого мусора и чем (на что) блокировать транзакцию???


 
Sandman25+1   (2004-02-25 17:31) [3]

Блокировать на запись, конечно.


 
adias ©   (2004-02-25 17:50) [4]

а глупый вопрос, а как? :-((


 
Sandman25+1   (2004-02-25 17:53) [5]

Не знаю, как для MS SQL.
Для Informix это выглядело бы как
LOCK TABLE mytable IN EXCLUSIVE MODE


 
adias ©   (2004-02-26 09:06) [6]

да, но это блокирует не запись, а страницу...


 
Nikolay M. ©   (2004-02-26 10:07) [7]

Блин, сколько же можно одно и то же спрашивать?!
http://rsdn.ru/article/db/midas_migration.xml#XSLTSECTION124143120120



Страницы: 1 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
9-1062001143
Ландграф Павел
2003-08-27 20:19
2004.03.28
Посмотрите мою игрушку (2D скролл-аркада на DelphiX c исходникам)


3-1077519843
lightix
2004-02-23 10:04
2004.03.28
Сообщения об ошибках Oracle


8-1068987245
fiction
2003-11-16 15:54
2004.03.28
Визуализация звука


3-1077826916
HeoGtan
2004-02-26 23:21
2004.03.28
Как узнать текущее имя поля и его номер


1-1078398933
Andrew2
2004-03-04 14:15
2004.03.28
Потоки и DLL