![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 24
|
![]()
Есть в БД таблица с двумя полями ID,Name
ID - autoinc Я добавляю в эту таблицу запись. После этого мне сразу же нужен ее ID. В программе я последовательно делаю 2 запроса: INSERT //добавляет запись SELECT //выборка ID добавленной записи. Так вот вопрос: Успеет ли выполнить FireBird запрос INSERT, прежде чем программа выполнит SELECT? или нужно делать //INSERT //sleep(500); //SELECT |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
При чем здесь какая-то "скорость".
INSERT и SELECT должны выполняться в разных транзакциях. После завершения транзакции для INSERT берите спокойно вы этот свой ID из уже добавленной записи. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 24
|
![]() |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
![]()
Gurt87, есть вероятность, что в период между INSERTом и SELECTом какой-то другой пользователь может вставить еще одну запись и тогда твой SELECT уже будет не актуальный.
Делай хранимую процедуру, которая будет вставлять запись и возвращать тебе ID новой записи ![]()
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Где скорость? | Diego__ | Microsoft Office Word | 2 | 25.12.2009 01:27 |
Скорость | bakanis | Работа с сетью в Delphi | 6 | 05.04.2009 12:39 |
Скорость реакции | li6051 | Помощь студентам | 16 | 05.11.2008 20:55 |
Скорость проигрывания | Bigtyoma | Общие вопросы Delphi | 0 | 01.10.2008 08:07 |
Скорость проигрывания | Bigtyoma | Мультимедиа в Delphi | 0 | 30.09.2008 15:57 |