![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить индекс самой последней записи в таблице при использо [D6, D7, IB6.x]
ВК © (2003-12-21 00:51:00)
Как получить индекс самой последней записи в таблице при использовании IBX.
(Индекс - первое поле.)
ВК (2003-12-21 15:08:00) [1]
Спасибо Вам всем большое за помощ!
jack128 (2003-12-21 14:13:00) [2]
Выход один - не использовать триггер, точнее переделать его так
AS
BEGIN
if (new.id is null) then
NEW.ID = GEN_ID(GEN_ID,1);
END
А id получать на клиенте перед вставкой. У TibDataSet есть свойство GeneratorField для этого
Term (2003-12-21 13:51:00) [3]
попробуй тогда запросом
select max(id) from table
ВК (2003-12-21 13:50:00) [4]
Просто они у меня равны ... мне любой способ подойдёт
Term (2003-12-21 13:48:00) [5]
> Как получить индекс самой последней записи в таблице при
> использовании
а что имеется в виду под словом "индекс" кажется оно в данном контексте не применимо, или имеется ввиду какоето поле с именем id по которому строиться главный индекс
ВК (2003-12-21 13:44:00) [6]
Да, мне нужно узнать индекс последней вставленной записи...
У меня какой индекс такая и цифра...если индекс записи равен 10, то и текст в самой записи индексного поля тоже будет равен 10
Тригер такой:
AS
BEGIN
NEW.ID = GEN_ID(GEN_ID,1);
END
JibSkeart (2003-12-21 12:14:00) [7]
Я так понял тебе надо узнать
индекс последней вставленнойзаписи ?
мда у MSSQL
@@identity --не работает корректно если на встаку сесть триггер и в этом тригере идет вставка в другую таблицу
(но можно выкрутится , тоесть обоити)
посмотри есть ли аналог в ИБ ,
Term (2003-12-21 09:50:00) [8]
>
> Скорее всего у тебя такая проблема. Ты создал триггер (как
> рекомендуют все дурацкие книжки по IB) и присвоил первичный
> ключ в триггере
А как ты предлагаеш, так вроде в "Мир InterBase" написано, она тоже дурацкая???
kaif (2003-12-21 03:59:00) [9]
Что ты называешь самой последней записью? У IB таких понятий нет. Если ты единственный юзер в сети, то, может быть, ты еще заметишь какую-то "последнесть" записи при добавлении в таблицу. Но если юзеров много и они работают с кучей транзакций, то можешь понаблюдать, что будет.
Скорее всего у тебя такая проблема. Ты создал триггер (как рекомендуют все дурацкие книжки по IB) и присвоил первичный ключ в триггере. А теперь не знаешь, как "выловить" то, что сам только что добавил в таблицу. Я прав?
ВК (2003-12-21 00:57:00) [10]
Вернее как получить текст в индексируемом поле самой последней записи таблицы
Nikolay M. (2003-12-21 00:55:00) [11]
Сам-то понял, что спросил?