| 
| 
 | Вопрос # 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
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |