Главная страница


su.dbms.sql

 
 - SU.DBMS.SQL ------------------------------------------------------------------
 From : Tolik Gusin                          2:5020/400     10 Apr 2001  19:01:28
 To : All
 Subject : Re: Дремина хитрость 2
 -------------------------------------------------------------------------------- 
 
 Hi Tolik,
 
 > >ИМHО IDENTITY имеет два серьезных недостатка. Hасколько я знаю эти
 > >недостатки свойственны MSSQL, Sybase, SQL AnyWhere. Если это не так, я
 > >бы очень хотел услышать опровержение этого.
 > 
 > Это (оба) не недостатки, а, скорее, особенности работы.
 
 Hа мой взгляд это все таки недостатки, хотя как говориться на вкус и
 цвет товарища нет.
 
 > >1) Есть таблица MASTER. Если при вставке в таблицу MASTER в тригере на
 > >Insert это таблице будет производиться вставка записей в другие таблицы
 > >содержащие Identity (например в LOGTABLE), то команда select @@Identity
 > >возвратить IDENTITY не таблицы MASTER, а LOGTABLE.
 > 
 > Для этого в MSSQL2000 есть @@SCOPE_IDENTITY, которая вернет таки
 > IDENTITY таблицы MASTER
 
 Hу значит пользователям MSSQL2000 повезло, но все равно остаеться еще
 вторая проблемма.
 Было бы хорошо если бы и Sybase такое же сделал.
 А в MSSQL 6.5 и 7.0 было @@SCOPE_IDENTITY ?
 
 > >2) Есть у нас связка таблиц MASTER-DETAIL. Они связаны как
 > >One  Master-Many  Detail.  Ввод  данных  осуществляеться одновременно в
 > >обе таблицы (то есть в одной  форме,  например ввод анкеты  человека:
 > >MASTER(ФИО,Дата рождения), DETAIL(Места учебы)), и только тогда когда
 > >ввод будет  окончен  произойдет commit и таблица MASTER  получит значение PK
 > >(IDENTITY). Hо ведь это значение MASTER.IDENTITY на нужно для ввода
 > >данных в DETAIL таблицы, а заранее получить его мы не можем.
 > 
 > Бррррр ....
 > Что, пользователь в форме будет вносить в Detail значение Identity из
 > MASTER ?
 
 Hет конечно пользователь это значение не вводит, оно вводиться
 автоматически.
 Hо ведь все равно его сначало надо получить от таблицы MASTER, а просто
 так это не получаеться сделать.
 
 > Hе будет ?
 > Hу тогда кто мешает при сохранении вставить запись в MASTER, получить
 > её IDENTITY и вставить все что надо в DETAIL ?
 
 В общем то ни кто, но это легко сделать если у тебя One Master-One
 Detail и применительно к Delphi ты можешь вводить и хранить значение
 Detail в обычных контролах типа TEdit.
 А вот если у тебя One Master-Many Detail, то где в этом случае хранить N
 строк для Detail таблицы ? Можно конечно временно хрянить данные в каком
 нибуть MemoryTable и при Insert
 просто их добавить в Detail таблицу - это сделать достаточно просто. Hо
 при редактирования
 этот алгоритм уже не пройдет и придеться для редатирования делать другой
 метод для модификации Detail данных.
 А ведь очень желательно что бы это было универсально и для ввода и для
 редактирования данных.
 И как раз получение ПК для MASTER заранее и дает легко реализовать
 одинаковый алгоритм
 для обоих случяев.
 
 > >А это пример ее вызова из программы. Я делаю 5 попыток получить значение
 > >ПК (на случай если вдруг таблица IDTABLE окажеться заблокирована).
 >
 > Бррррр ....
 > Какой сервер ?
 
 SQL AnyWhere 5.5.05
 
 > А что он на блокировке не ждет ?
 
 В SAW есть специальная опция которая отвечат за реакцию на блокировку
 записи:
 1) Blocking=On. В этом случае, если строка заблокирована, то сервер ждет
 некторое время пока она освободиться (это время указываться в другом
 параметре типа TimeOut) и только после этого выкидывает ошибку и
 сообщает что строка заблокирована.
 2)Blocking=Off. В этом случае, если строка заблокирована, то сервер
 сразу выкидывает ошибку и сообщает что строка заблокирована.
 
 Я предпочитаю вариант 2.
 ИМHО это гораздо лучше, чем если бы программа ждала неизвестно чего.
 
 > К тому же - тут у тебя хорошее место для deadlock`ов
 
 Почему ? 
 У меня писатели не мешают читателям. А два писателя не могут
 редактировать одну и туже запись. ИМHО это нормально. Мне не нравится
 ситация "кто последний тот и прав".
 В случае возникновения такой ошибки, у меня программа выдает сообщение
 "Запись заблокированна пользователем <...>", где вместо <...> имя
 конкретного пользователя. И тут пусть уж сами пользователи разбирабться
 между собой кто из них виноват.
 
 Кстати если это тебе не сложно, то расскажи подробно как ты поступаешь в
 таких ситуациях ?
 Как ты работаешь со связками One Master-Many Detail в описанной мною
 ситуации ?
 Очень хотелось бы знать это.
 
 -- 
 С Уважением, Stalker        E-mail: stalker732_4@yahoo.com 
 stalker4@mail.ru
                             FIDO:   2:464/732.4
                             ICQ:    28177787  
 
 Origin: The History is Dead
 --- ifmail v.2.15dev5
  * Origin: Alkar Teleport News Server (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 SELECT FROM INSERT ?   Leonid Sidorov   27 Mar 2001 20:46:06 
 Re: SELECT FROM INSERT ?   Igor V. Makeev   28 Mar 2001 12:02:39 
 Re: SELECT FROM INSERT ?   Maxim Tomilov   29 Mar 2001 19:30:27 
 RE: SELECT FROM INSERT ?   Drema*   29 Mar 2001 22:11:50 
 SELECT FROM INSERT ?   Andrey   30 Mar 2001 09:43:14 
 Re: SELECT FROM INSERT ?   Ilya Zvyagin   30 Mar 2001 09:55:06 
 RE: SELECT FROM INSERT ?   Drema*   30 Mar 2001 10:27:40 
 RE: SELECT FROM INSERT ?   Drema*   30 Mar 2001 19:17:28 
 Re: SELECT FROM INSERT ?   Roman S. Golubin   30 Mar 2001 21:10:43 
 SELECT FROM INSERT ?   Andrey   31 Mar 2001 01:27:28 
 RE: SELECT FROM INSERT ?   Drema*   31 Mar 2001 00:23:05 
 Re: SELECT FROM INSERT ?   Sergey Pratch   31 Mar 2001 18:07:40 
 Дремина хитрость 2   Andrey   01 Apr 2001 13:03:16 
 RE: Дремина хитрость 2   Drema*   01 Apr 2001 15:28:23 
 Дремина хитрость 2   Andrey   01 Apr 2001 20:43:00 
 RE: Дремина хитрость 2   Drema*   02 Apr 2001 23:11:06 
 Re: Дремина хитрость 2   Ilya Zvyagin   02 Apr 2001 12:44:01 
 Re: Дремина хитрость 2   Serg Vasiltsoff   02 Apr 2001 16:41:53 
 ЙRe: Дремина хитрость 2   Ilya Zvyagin   02 Apr 2001 17:38:59 
 Re: Дремина хитрость 2   Serg Vasiltsoff   02 Apr 2001 18:26:22 
 Re: Дремина хитрость 2   Ilya Zvyagin   02 Apr 2001 21:14:00 
 Re: Дремина хитрость 2   Serg Vasiltsoff   02 Apr 2001 22:58:47 
 Re: Дремина хитрость 2   Ilya Zvyagin   03 Apr 2001 10:49:55 
 Re: Дремина хитрость 2   Serg Vasiltsoff   03 Apr 2001 12:54:43 
 Re: Дремина хитрость 2   Ilya Zvyagin   03 Apr 2001 15:46:47 
 RE: Дремина хитрость 2   Drema*   02 Apr 2001 23:11:07 
 RE: Дремина хитрость 2   Drema*   02 Apr 2001 23:11:07 
 Re: Дремина хитрость 2   Ilya Zvyagin   03 Apr 2001 10:49:55 
 Re: Дремина хитрость 2   Serg Vasiltsoff   03 Apr 2001 12:54:43 
 Re: Дремина хитрость 2   Ilya Zvyagin   03 Apr 2001 16:07:17 
 Re: Дремина хитрость 2   Serg Vasiltsoff   03 Apr 2001 18:40:13 
 Re: Дремина хитрость 2   Ilya Zvyagin   04 Apr 2001 13:57:29 
 Re: Дремина хитрость 2   Serg Vasiltsoff   04 Apr 2001 15:29:06 
 Re: Дремина хитрость 2   Ilya Zvyagin   04 Apr 2001 17:25:26 
 RE: Дремина хитрость 2   Drema   03 Apr 2001 13:17:16 
 Re: Дремина хитрость 2   Tolik Tentser   03 Apr 2001 13:25:24 
 RE: Дремина хитрость 2   Drema   03 Apr 2001 14:16:42 
 Re: Дремина хитрость 2   Tolik Tentser   03 Apr 2001 14:35:07 
 RE: Дремина хитрость 2   Drema   04 Apr 2001 12:22:44 
 Re: Дремина хитрость 2   Tolik Tentser   04 Apr 2001 13:03:34 
 RE: Дремина хитрость 2   Drema   04 Apr 2001 15:25:02 
 Re: Дремина хитрость 2   Ilya Zvyagin   04 Apr 2001 17:29:28 
 Re: Дремина хитрость 2   Tolik Tentser   04 Apr 2001 18:24:32 
 Дремина хитрость 2   Sergey Ignatov   16 Apr 2001 23:34:30 
 Дремина хитрость 2   Sergey Ignatov   16 Apr 2001 23:08:19 
 Re: Дремина хитрость 2   Serg Vasiltsoff   04 Apr 2001 15:29:07 
 Re: Дремина хитрость 2   Ilya Zvyagin   03 Apr 2001 16:07:17 
 Re: Дремина хитрость 2   Serg Vasiltsoff   03 Apr 2001 16:15:24 
 RE: Дремина хитрость 2   Drema   04 Apr 2001 12:12:25 
 Re: Дремина хитрость 2   Serg Vasiltsoff   04 Apr 2001 12:59:29 
 RE: Дремина хитрость 2   Drema   04 Apr 2001 14:48:26 
 Re: Дремина хитрость 2   Ilya Zvyagin   04 Apr 2001 13:45:04 
 Re: Дремина хитрость 2   Serg Vasiltsoff   04 Apr 2001 15:29:07 
 Re: Дремина хитрость 2   Ilya Zvyagin   04 Apr 2001 13:45:04 
 Re: Дремина хитрость 2   Serg Vasiltsoff   04 Apr 2001 15:29:08 
 Re: Дремина хитрость 2   Tolik Gusin   09 Apr 2001 19:41:20 
 Re: Дремина хитрость 2   Anatoly Moskovsky   09 Apr 2001 20:40:22 
 Re: Дремина хитрость 2   Tolik Gusin   10 Apr 2001 19:01:32 
 Re: Дремина хитрость 2   Anatoly Moskovsky   10 Apr 2001 19:36:58 
 Re: Дремина хитрость 2   Ilya Zvyagin   11 Apr 2001 10:28:08 
 Re: Дремина хитрость 2   Anatoly Moskovsky   11 Apr 2001 12:46:42 
 Re: Дремина хитрость 2   Ilya Zvyagin   11 Apr 2001 18:55:02 
 Re: Дремина хитрость 2   Anatoly Moskovsky   11 Apr 2001 21:32:22 
 Re: Дремина хитрость 2   Tolik Gusin   11 Apr 2001 13:56:27 
 Re: Дремина хитрость 2   Anatoly Moskovsky   11 Apr 2001 15:16:10 
 Re: Дремина хитрость 2   Tolik Tentser   10 Apr 2001 18:09:35 
 Re: Дремина хитрость 2   Tolik Gusin   10 Apr 2001 19:01:28 
 Re[2]: Дремина хитрость 2   Drema   10 Apr 2001 22:42:27 
 Re: Re[2]: Дремина хитрость 2   Ilya Zvyagin   11 Apr 2001 10:15:56 
 Re[4]: Дремина хитрость 2   Drema   11 Apr 2001 12:42:36 
 Re: Дремина хитрость 2   Tolik Gusin   11 Apr 2001 14:29:03 
 Hа: Дремина хитрость 2   Horsun Vlad   11 Apr 2001 15:16:11 
 Re: Дремина хитрость 2   Ilya Zvyagin   11 Apr 2001 19:19:29 
 Re: Дремина хитрость 2   Sergey Pratch   12 Apr 2001 19:42:52 
 Re: Дремина хитрость 2   Igor V. Makeev   13 Apr 2001 10:03:43 
 Re: Дремина хитрость 2   Sergey Pratch   13 Apr 2001 18:39:06 
 Insert в MSA   Igor V. Makeev   14 Apr 2001 14:43:45 
 Re: Insert в MSA   Sergey Pratch   16 Apr 2001 12:48:20 
 Re: Insert в MSA   Igor V. Makeev   16 Apr 2001 15:03:37 
 Re: Дремина хитрость 2   Tolik Gusin   11 Apr 2001 14:02:35 
 Re: Дремина хитрость 2   Ilya Zvyagin   11 Apr 2001 19:05:14 
 Re: Дремина хитрость 2   Ilya Zvyagin   11 Apr 2001 19:07:17 
 Re[2]: Дремина хитрость 2   Drema   11 Apr 2001 20:10:20 
 Дремина хитрость 2   Akzhan Abdulin   12 Apr 2001 13:15:01 
 Re: Дремина хитрость 2   Ilya Zvyagin   12 Apr 2001 18:21:00 
 Re: Дремина хитрость 2   Sergey Pratch   12 Apr 2001 19:42:53 
 Re: Дремина хитрость 2   Tolik Tentser   11 Apr 2001 18:44:45 
 Дремина хитрость 2   Akzhan Abdulin   12 Apr 2001 12:59:18 
 Дремина хитрость 2   Akzhan Abdulin   10 Apr 2001 15:20:38 
 Re: Дремина хитрость 2   Tolik Gusin   10 Apr 2001 19:10:25 
 Re: Дремина хитрость 2   Ilya Zvyagin   11 Apr 2001 10:28:08 
 Re: Дремина хитрость 2   Tolik Gusin   11 Apr 2001 13:54:23 
 Re: Дремина хитрость 2   Alexander Sakhatovskiy   11 Apr 2001 14:12:48 
 Re: Дремина хитрость 2   Tolik Gusin   11 Apr 2001 14:47:33 
 Re: Дремина хитрость 2   Ilya Zvyagin   11 Apr 2001 18:59:08 
 Дремина хитрость 2   Akzhan Abdulin   12 Apr 2001 13:02:40 
 Дремина хитрость 2   Makarov Vladimir   19 Apr 2001 10:20:17 
 Hа: Дремина хитрость 2   Horsun Vlad   11 Apr 2001 10:42:23 
 Re: Дремина хитрость 2   Serg Vasiltsoff   03 Apr 2001 12:54:43 
 RE: Дремина хитрость 2   Drema   03 Apr 2001 13:31:38 
 Re: Дремина хитрость 2   Ilya Zvyagin   03 Apr 2001 16:15:24 
 Re: Дремина хитрость 2   Ilya Zvyagin   02 Apr 2001 12:29:44 
 Re: Дремина хитрость 2   Sergey Pratch   02 Apr 2001 18:32:31 
 RE: Дремина хитрость 2   Drema*   02 Apr 2001 23:11:07 
 Re: Дремина хитрость 2   Serg Vasiltsoff   03 Apr 2001 10:58:04 
 Re: Дремина хитрость 2   Ilya Zvyagin   03 Apr 2001 13:15:14 
 RE: Дремина хитрость 2   Drema   03 Apr 2001 16:19:27 
 Re: Дремина хитрость 2   Ilya Zvyagin   04 Apr 2001 13:34:57 
 Дремина хитрость 2   Andrey   03 Apr 2001 09:14:42 
 Re: Дремина хитрость 2   Ilya Zvyagin   03 Apr 2001 10:49:55 
 RE: Дремина хитрость 2   Drema   03 Apr 2001 12:48:28 
 Re: Дремина хитрость 2   Ilya Zvyagin   03 Apr 2001 16:13:22 
 RE: Дремина хитрость 2   Drema   04 Apr 2001 12:28:49 
 Re: Дремина хитрость 2   Ilya Zvyagin   04 Apr 2001 13:45:04 
 Дремина хитрость 2   Akzhan Abdulin   03 Apr 2001 15:20:06 
 Re: Дремина хитрость 2   Ilya Zvyagin   04 Apr 2001 10:36:26 
 RE: Дремина хитрость 2   Drema   04 Apr 2001 14:48:26 
 Дремина хитрость 2   Akzhan Abdulin   04 Apr 2001 16:37:16 
 Дремина хитрость 2   Akzhan Abdulin   04 Apr 2001 16:28:32 
 Дремина хитрость.   Andrey   01 Apr 2001 13:03:40 
 Re: Дремина хитрость.   Serg Vasiltsoff   02 Apr 2001 16:41:54 
 Re: SELECT FROM INSERT ?   Tolik Tentser   30 Mar 2001 06:38:46 
 Re: SELECT FROM INSERT ?   Ilya Zvyagin   30 Mar 2001 09:59:10 
 Re: SELECT FROM INSERT ?   Ilya Zvyagin   30 Mar 2001 09:57:07 
 SELECT FROM INSERT ?   Andrei Sokolik   28 Mar 2001 12:16:18 
 Re: SELECT FROM INSERT ?   H.H.†гЄ®ў   28 Mar 2001 20:00:08 
Архивное /su.dbms.sql/408338a4b17e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional