Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Help me please 


Alexsyy   (2001-12-04 08:52) [0]

Привет всем!
Подскажите сделать так чтобы первичные ключи после удаления например всех записей в таблице при последующем добавлении начинались с 1? Например: есть таблица содержит 4 строки первичные индекесы соответственно 1..4, удалили все, добавили 1 строку у нее первичный индекс 5 (вместо желаемого 1)
С уважением Alexsyy



Владислав   (2001-12-04 09:32) [1]

Ну создавай первичный индекс (ключ называется) с единицы. В чем проблемы?



Maxus   (2001-12-04 09:40) [2]

Здравствуйте!
Если для MS SQL Server, то попробуйте так:
1. ключевой атрибут сделайте IDENTITY
2. в триггере удаления выполняйте TRUNCATE TABLE. Это команда сбрасывает IDENTITY столбцы в 0.
Посмотрите справку по IDENTITY (CREATE TABLE) и TRUNCATE TABLE.

P.S.
Ключи и индексы - разные вещи, мне кажется :)



Владислав   (2001-12-04 09:44) [3]

> Maxus (04.12.01 09:40)

Вообще-то, он написал для FoxPro и dBase



ValeraVV   (2001-12-04 12:34) [4]

Если нужен порядковый номер записи, то его можно и так получить (для FoxPro DBase), но вновь добавленные записи должны иметь ключ, отличный от других записей (в том числе и удаленных); Все это IMHO, а по вопросу: парадоксовской таблице (в определенном месте заголовка есть текущее значение автоинкрементного поля), его можно изменить, но открыв таблицу как обычный файл (думаю, то же справедливо и для DBase). Описание Header"а DBF есть у кого угодно. Если работать через БДЕ - легче пересоздать таблицу(или поле через запрос alter table)



Nest   (2001-12-04 14:06) [5]

А что, в DBASE есть автоинкрементные поля?

2Alexsyy
А где ты вообще берёшь значение ID ?
Ну например когда пустую таблицу попорядку начинаешь заполнять, то откуда значение берётся?
Есть идейки, но в холостую писать не хочется..



Mick   (2001-12-04 14:16) [6]

В DBASE есть автоинкрементные поля.



Niklen   (2001-12-04 14:36) [7]

Возможно, необходимо упаковать таблицу, чтобы не было уничтоженных записей
Table1.Exclusive := TRUE ;
Table1.Open ;
DbiPackTable( Table1.DBHandle, Table1.Handle, nil, nil, TRUE ) ;



Nest   (2001-12-04 14:40) [8]

2Mick
Начиная с какой версии?



Anatoly Podgoretsky   (2001-12-05 01:06) [9]

7




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.036 c
14-22373          panov                 2001-11-08 18:34  2002.01.08  
Разработка конкретного проекта против конкурса прграмм.


1-22207           Delphimun             2001-12-15 10:00  2002.01.08  
Как вкомпилировать несколько файлов в один exe


6-22276           Lamok                 2001-10-05 23:13  2002.01.08  
Отправка данных в интернет


3-21991           perov                 2001-12-06 09:01  2002.01.08  
кодировка сообщений ошибок оракла


1-22002           BFG                   2001-12-16 16:24  2002.01.08  
Графики