|  | 
| 
DB-2 Вставка 2-х записей одновременно? | |||
|---|---|---|---|
| #18+ Добрый день!!  Я начинающий, поэтому у меня возникла, видимо не очень сложная проблема, но я ее решить без посторонней помощи не могу. Суть в следующем: При вставке записей допустим 2-я пользователями получаеться такая ситуация: - тригер выдает каждому пользователю один и тотже номер Вот тело тригера create trigger Trig no cascade before insert on Tabl referencing new as n for each row mode db2sql when (n.Id = 0) set n.Id = coalesce((select max(Id) from Tabl), 0) + 1; Соответственно запись сохраняеться у того кто первый успел нажать на кнопку "Post". У другого человека на экране появляеться надпись типа: "Попытка сохранения неуникального первичного ключа" или что то в этом духе...... Когда я работал с InterBase все было гораздо проще, я использовал генератор, и все было ОК. А теперь вот прямо не знаю что делать....... Пытался с хранимыми процедурами покрутить, но что то у меня ничего путного не получилось (все время сообщения типа SQL -74748 и без коментариев, тут я конечно не в силах понять почему не создаеться процедура). Вот тело процедуры: CREATE PROCEDURE DB2ADMIN.Proc1 (OUT var0 integer) LANGUAGE SQL ------------------------------------------------------------------------ -- SQL Stored Procedure ------------------------------------------------------------------------ P1: BEGIN SET var0=(select PERSONACCOUNT from ERWIN.PERSON_ACCOUNT); update ERWIN.Person_Account set ERWIN.Person_Account.PERSONACCOUNT=(PERSONACCOUNT+1); END P1 Не могли бы вы объяснить, как справиться с данной проблемой?! Или может быть выслать какиенибудь примеры........ Заранее благодарен Алексей!!!! :0) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 13.04.2001, 14:42 |  | ||
| 
DB-2 Вставка 2-х записей одновременно? | |||
|---|---|---|---|
| #18+ Когда я столкнулся с этой проблемой, я написал хранимую процедуру на Java (я использую версию 6, в которой нет встроенного SQL). Если этот вариант приемлем, пиши сюда AlexVed@psu.ru, вышлю исходник процедуры. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 29.06.2001, 10:14 |  | ||
| 
DB-2 Вставка 2-х записей одновременно? | |||
|---|---|---|---|
| #18+ А тебе обязательно целочисленное число? Если нет, то воспользуйся полем CHARACTER(13) FOR BIT DATA и функцией GENERATE_UNIQUE() ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.06.2002, 14:12 |  | ||
| 
DB-2 Вставка 2-х записей одновременно? | |||
|---|---|---|---|
| #18+ А перейти на 7.1 нельзя? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 01.07.2002, 05:10 |  | ||
| 
DB-2 Вставка 2-х записей одновременно? | |||
|---|---|---|---|
| #18+ напиши триггер, который делает Update не до, а после вставки ... ... when(n.id=0) set(n.id)=select max(n.id)+1 from Tabl .... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 05.08.2002, 16:34 |  | ||
|  | 

| start [/forum/topic.php?fid=43&msg=32034442&tid=1606668]: | 0ms | 
| get settings: | 12ms | 
| get forum list: | 10ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 64ms | 
| get topic data: | 21ms | 
| get forum data: | 3ms | 
| get page messages: | 41ms | 
| get tp. blocked users: | 1ms | 
| others: | 232ms | 
| total: | 390ms | 

| 0 / 0 | 
