powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Session ID
11 сообщений из 11, страница 1 из 1
Session ID
    #34653416
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте ув. участники форума. Такая-вот проблема:
Есть 2 таблицы. Соотношение 1 к 1 (В одной запись 100-200 байт, в другой 8000-10000 соотв. по прошествию непродолжительного времени 2-я таблица будет чистится, тогда как 1-я будет жить) Надо проконтролировать связку... То есть: Делаю INSERT в 1-ю таблицу. Сам DB2 генерирует ID для записи, хочу его получить, но: Так как клиентов много, то запись получается не уникальная (если не принемать во внимание ID), но надо получить ID (для записи его во 2-ю таблицу) именно от записи, которую сделал именно я из именно этого приложения... В связи с этим появилась мысль, использовать ID сессии и внутренний номер запроса (обнуляется при запуске клиентского приложения), по идеи этого должно хватить чтоб поддержать уникальность записи (Вместо генерируемого ID). Но не могу найти каким запросом можно получить Session ID. Подскажите пож-ста... Или ссылкой киньтесь на доку... Мануалы читал, чегойт не нашел.

WBR Warstone
...
Рейтинг: 0 / 0
Session ID
    #34653483
Фотография Alexey Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не проще:
GENERATE_UNIQUE()
&
CHARACTER(13) FOR BIT DATA
?

И посмотри тут Example 6 по поводу выборки данных из вставляемой записи.
...
Рейтинг: 0 / 0
Session ID
    #34653506
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы про это:
INCLUDE
Specifies a list of columns to be included in the intermediate result table of the INSERT statement. This clause can only be specified if the INSERT statement is nested in the FROM clause of a fullselect.

То необходимо чтоб был FROM, а у меня 1 запись, где прям в SQL подставляются параметры... Вроде этого низзя. Хотя щас попробую.
...
Рейтинг: 0 / 0
Session ID
    #34653558
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Более того, в iSeries такого нету, по крайней мере в мануале я не нашел.
...
Рейтинг: 0 / 0
Session ID
    #34653588
Фотография Alexey Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто говорил про iSeries? У меня LUW и если точнее, то писал по схеме:
Код: plaintext
1.
2.
SELECT Q1.ID, Q1.NAME
FROM NEW TABLE(INSERT INTO LIST1 (NAME)
  VALUES('WEWE')) Q1(ID, NAME)
...
Рейтинг: 0 / 0
Session ID
    #34653601
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению у меня iSeries. Так что... тут этого вроде нету. Возвращаясь к вопросу... Как получить SessionID(SID)?
...
Рейтинг: 0 / 0
Session ID
    #34653685
м.б.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в LUW есть ApplID (в приложении можно например через через adminAPI получить), может в iseries аналогично?
...
Рейтинг: 0 / 0
Session ID
    #34653801
афывфв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SessionID зто что? имя джоба чтоли.
его на С/С++ легко вытащить и сделать UDF или триггер
апишка(не путать командой) называется XXXUSRJOBI, где префикс XXX не помню.
я когда-то это делал, но это было давно
...
Рейтинг: 0 / 0
Session ID
    #34653886
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю что такой вещи нету...
Всем спасибо - разобрался. Делаю через последовательность. То есть сначала:
Код: plaintext
SELECT NEXT VALUE FOR <имя последовательности> AS Id FROM SYSIBM.SYSDUMMY1
Ну а потом уже INSERT в обе таблицы.
Ещё раз всем спасибо.
...
Рейтинг: 0 / 0
Session ID
    #34654294
RomanSavelyev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WarstoneЯ так понимаю что такой вещи нету...
Всем спасибо - разобрался. Делаю через последовательность. То есть сначала:
Код: plaintext
SELECT NEXT VALUE FOR <имя последовательности> AS Id FROM SYSIBM.SYSDUMMY1

При создании последовательности - обратите внимание на кэш.
Если он будет слишком малым - последовательность станет бутылочным горлом.
Старайтесь сделать его таким, чтоб кэша хватило на пару-тройку секунд работы.
Но можно "попасть" на "дырку" в нумерации в случае rollback-ов, впрочем, обычно этьо не важно.
...
Рейтинг: 0 / 0
Session ID
    #34655084
Alexey Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneЗдравствуйте ув. участники форума. Такая-вот проблема:
..... Но не могу найти каким запросом можно получить Session ID. Подскажите пож-ста... Или ссылкой киньтесь на доку... Мануалы читал, чегойт не нашел.

WBR Warstone

Заюзай
Код: plaintext
SELECT SYSFUN.application_id() AS APP_ID FROM SYSIBM.SysDummy1
можешь например в триггере или в процедуре или прямо с клиента
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Session ID
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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