|
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=32034281&tid=1606668]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 253ms |
total: | 377ms |
0 / 0 |