![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить значение поля? [D5, Oracle]
SergeyDove © (2002-09-27 12:45:00)Использую TQuery (CachedUpdates) + TUpdateSql. Добавляю запись в таблицу с полем генерируемым в триггере (вроде автоинкремента). После добаления записи, значение поля не установлено. Что делать?
Заранее спасибо.
P.S. Для поля указано, что оно генерируется автоматически и AutoRefresh установлен в true.
passm (2002-09-27 14:10:00) [1]Поищи, может есть функция аналогичная GENERATE_UNIQUE() в DB2, которая возвращает всегда уникальное значение типа CHAR(13) FOR BIT DATA. Если нет, то можо реализовать (UDF).
Далее запрос типа: SELECT NUM.NUM FROM (VALUES(GENERATE_UNIQUE())) AS NUM(NUM)
И в событии OnNewRecord открываешь запрос, заполняешь значение и закрываешь запрос.
Да, если подобной функции нет, то ее значение генерируется с использованием текущего TIMESTAMP, номера сессии и случайного числа.
А в случае аналогичном твоему приходится переоткрывать запрос и позиционироваться на записи введенные пользователем (желательно, чтобы они были уникальны).