Судя по письмам в конференции fido7.su.dbms.interbase, существует
определенный процент (около 15) задач, которые требуют периодического удаления
большого количества записей. Это либо просто чистка устаревшей информации, либо
перенос части данных в архив, но почти всегда - выполнение операции DELETE
FROM... над количеством записей от десятков и сотен тысяч до нескольких
миллионов.
Существует несколько способов задавать в таблице уникальный ID.
Вы можете использовать поле с автоприращением
Этот метод не очень надежен. Если ваша таблица каким-то образом испортится, и
вам понадобиться ее пересобрать, автоинкрементальные поля будут перенумерованы.
Хотя это легкий способ для ситуации, когда вы не ссылаетесь на id таблицы в
других таблицах, но это не очень мудрое решение в других случаях.
Самое дешевое решение - завести поле, в которое будет записываться ID usera
перед началом операции.
Перед началом обновления данных выполняете
следующее. 1. При старте программы каждому юзеру раздаете уникальный
ID. 2. Перед началом обновления данных записываете ID в поле в и коммитете
данные. После этого поле будет залочено для этого юзера. 3. Вносите
изменения. 4. В блокирующее поле записываете 0 и коммитете.
Мне необходимо как-то предотвратить автоматическое добавление записей в
таблицу. Может быть предусмотреть какую-то хитрость для создания новой записи в
табличной сетке?
В Database Desktop поставьте правильный Language Driver у таблицы, например,
Pdox ANSI Cyrr.
Это простой вопрос в том случае, если база уже создана на диске. Если мы
создаем базу динамически из программы, то как потом поставить русский язык без
Database Desktop'а?
"Каким образом мне копировать запись в пределах одного и того же TTable? То
есть, если я вижу текущую запись на экране и хочу ее скопировать в ту же таблицу
с изменением индекса поля(ей), то какие действия мне необходимо предпринять?"