Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB-2 Вставка 2-х записей одновременно? / 6 сообщений из 6, страница 1 из 1
13.04.2001, 14:42
    #32004306
Алексей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB-2 Вставка 2-х записей одновременно?
Добрый день!!
Я начинающий, поэтому у меня возникла, видимо не очень сложная проблема,
но я ее решить без посторонней помощи не могу.
Суть в следующем:
При вставке записей допустим 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)
...
Рейтинг: 0 / 0
29.06.2001, 10:14
    #32008623
Алексей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB-2 Вставка 2-х записей одновременно?
Когда я столкнулся с этой проблемой,
я написал хранимую процедуру на Java (я использую версию 6, в которой нет встроенного SQL). Если этот вариант приемлем, пиши сюда AlexVed@psu.ru, вышлю исходник процедуры.
...
Рейтинг: 0 / 0
28.06.2002, 14:12
    #32034281
passm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB-2 Вставка 2-х записей одновременно?
А тебе обязательно целочисленное число?
Если нет, то воспользуйся полем CHARACTER(13) FOR BIT DATA и функцией GENERATE_UNIQUE()
...
Рейтинг: 0 / 0
01.07.2002, 05:10
    #32034442
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB-2 Вставка 2-х записей одновременно?
А перейти на 7.1 нельзя?
...
Рейтинг: 0 / 0
05.08.2002, 16:34
    #32040941
TimberWolf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB-2 Вставка 2-х записей одновременно?
напиши триггер, который делает Update не до, а после вставки ...
...
when(n.id=0)
set(n.id)=select max(n.id)+1 from Tabl
....
...
Рейтинг: 0 / 0
16.10.2002, 06:59
    #32058604
Olle_Up
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB-2 Вставка 2-х записей одновременно?
http://promail.kht.ru/olleup/program/stat/db2uniq.htm
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB-2 Вставка 2-х записей одновременно? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]