|
Вопрос # 564/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Я бы хотел бы создать индексное поле в своей базе которое автоматически присваевалбы порядковый номер записи.
подскажите ссылки по этой теме
заранее благодарен.
 |
Вопрос задал: Р.А. (статус: Посетитель)
Вопрос отправлен: 10 мая 2007, 09:38
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Помфюк Владимир Степанович
Здравствуйте, Раджабов Амин!
Вы бы указали для разнообразия какую СУБД используете.
В Interbase:
create generator gen_my_id;
set term ^ ;
create trigger trg_gen_id for "my_table" before insert as
begin
new.autoinc_field=gen_id(gen_my_id,1);
end
^
set term ; ^
В MySQL, Sybase ASA(ASE) и DB2(в последних версиях) просто обьявляете поле как AUTOINCREMENT
А в файловых (FoxPro, dBase, Paradox) - автоматически ничего не делается - нужно вручную шерстить таблицу и заносить значения.
 |
Ответ отправил: Помфюк Владимир Степанович (статус: Абитуриент)
Время отправки: 10 мая 2007, 09:50
Оценка за ответ: 5
Комментарий к оценке: спасибо за инфу
я использую Paradox
|
Ответ #2. Отвечает эксперт: Вадим К
Здравствуйте, Раджабов Амин!
Вы пишете: Номер записи. Воно то может и хорошо, но если бы не одни большое но. Но, на которое напоролся и предыдущий эксперт. То что он написал - это автоинкримент - тоесть значения для каждой записи в указаном поле будет увеличиваться на еденицу. Но если где то внутри вы удалите одну- две записи, то получиться "дырка" в нумерации. Никто автоматически не пересчитает это поле. Да оно и не то что не надо, а и вредно, если это индекс ("поплывут" связи между таблицами - гуглите на тему "ссылочная целостность"). И напоследок. Записи в таблице не имеют номера! Точнее вы можете говорить о номере записи в результате конкретного запроса к базе, когда вы отсортировали записи. В противном случае база имеет полное право выдавать вам записи в том порядке, котором ей удобней. Тоесть в результате запроса, в котором вы явно не попросили отсортировать база данных имеет полное право вам отдавать записи в разном порядке. Также лишены смысла вопросы вида "а как добавить запись в конец таблицы?".
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 10 мая 2007, 11:14
Оценка за ответ: 4
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|