![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Корректное удаление записей из таблицы [D6, IB6.x]
N&N © (2003-07-10 08:12:00)Уважаемые Мастера, прошу вашей помощи в очередной раз.
Ситуация такая- создана база, таблицa с полем Code_Id.
Для формирования уникальных номеров поля Code_Id создал генератор триггер, при вставке строк все работает, как надо. А вот когда удаляю записи и потом вставляю новые, то триггер вставляет новые значения полей Code_Id, а старые значения поля Code_Id где-то хранятся и не удаляются. Действия наподобие таких, как
Create trigger NameTrigger for NameTable
Active
After delete
....
у меня не проходят, подскажите пожалуйста, как быть
HSolo (2003-07-15 14:40:00) [1]from_shadow (15.07.03 13:45)
"Ничего не понимаю" (с)
>Очень неразумная индексация.
Это почему же?
>Наиболее просто по жизни, например индекс в виде id_компа+дата+время
Чем это проще генератора? Или Вы имеете в виду репликацию?>проверено жизнью - мин нет.
Даже, например, при пакетной заливке (куча записей в секунду)?
from_shadow (2003-07-15 13:45:00) [2]Очень неразумная индексация. Наиболее просто по жизни, например индекс в виде id_компа+дата+время - значительно длинее, зато проверено жизнью - мин нет.
N&N (2003-07-10 08:48:00) [3]>Zacho, DenK_vrtz
Большое спасибо вам за помощь, ситуация проясняется.
DenK_vrtz (2003-07-10 08:42:00) [4]N&N (10.07.03 08:38), Zacho © (10.07.03 08:36) прав!
Генератор - это некая последовательность, при работе с которой "отработанные" значения теряются.
Можно сделать, чтобы они не терялись, но для этого надо использовать другой метод формирования уникальных значений!
N&N (2003-07-10 08:38:00) [5]>Zacho
Как раз сейчас читаю
Zacho (2003-07-10 08:36:00) [6]
> N&N (10.07.03 08:34)
Ты просто не понимаешь, что такое генератор. http://www.ibase.ru/devinfo/generator.htmпрочитал ?
N&N (2003-07-10 08:34:00) [7]>DenK_vrtz
Упрощенный пример
Имеются записи со значеними в поле Code_Id
1
2
3
4
5
6
7,
удаляю запись под номером 1,
вставляю новую запись, ожидая формирование значение поля Code_Id
со значением "1", а в поле почему-то заносится значение "8".
DenK_vrtz (2003-07-10 08:22:00) [8]что значит?
>>а старые значения поля Code_Id где-то хранятся и не удаляются
Проблема то, собственно, в чем?
Zacho (2003-07-10 08:21:00) [9]Нигде никакие старые значения не хранятся. Генератор - это просто целочисленная переменная, работающая вне контекста транзакций. Читай http://www.ibase.ru/devinfo/generator.htm