Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

Внесение новой записи в БД   Найти похожие ветки 

 
Larisa   (2002-07-24 13:12) [0]

При внесении новой записи в БД (Interbase) для получения в ключевом столбце уникального значения использую генератор и триггер. Подскажите пожалуйста, как в приложении получить это новое уникальное новое значение ключевого столбца?

Лариса


 
Johnmen ©   (2002-07-24 13:35) [1]

До вставки или после ?
Каковы компоненты доступа ?


 
kaif ©   (2002-07-24 13:45) [2]

Если ключевому полю значение присваивается в триггере, то получить это значение будет невозможно, если только в таблице нет альтернативного уникального ключа, по которому можно было бы перезапросить эту запись (Refresh) на клиент. Поэтому возможны только подхода:
1. Создать альтернативный уникальный ключ, кроме первичного, использовать триггер для получения нового значения первичного ключа и запрос Refresh с применением альтернативного ключа.
2. Сначала запросить новое значение генератора на клиент, а затем уже его вставить без всякого триггера. Компоненты IBX содержат такой механизм.
---------
Я раньше использовал первый метод. В последнее время предпочитаю второй.


 
Val ©   (2002-07-24 14:03) [3]

если не использовать компоненты прямого доступа, то можно написать хп, возвращающую этот новый ID и в приложении вызывать ее при вставке.


 
AlexSam   (2002-07-24 15:16) [4]

Есть тупой способ - select max(id) from ...


 
kaif ©   (2002-07-24 17:14) [5]

2 AlexSam (24.07.02 15:16)
Этот способ не столько тупой, сколько опасный при многопользовательской работе. И иногда медленный (если записей много). А почему медленный - не знаю.


 
Val ©   (2002-07-24 17:56) [6]

медленный, потому, что это выборка все-таки, а генератор хранит одно, последнее значение.



Страницы: 1 вся ветка

Текущий архив: 2002.08.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
3-48007
PAVrus
2002-07-27 19:26
2002.08.15
Вторичный индекс и


1-48021
LVG
2002-08-03 09:17
2002.08.15
Вопрос по TreeView


3-47976
X-jedy
2002-07-25 16:55
2002.08.15
MySql-ный VarChar


6-48229
Марина
2002-05-31 14:54
2002.08.15
Имя пользователя, занявшего файл


14-48298
Alibaba
2002-07-19 12:50
2002.08.15
Есть вакансия программиста (г Киев)