Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определение ID последней записи [D7, MSSQL]


VadimSpb ©   (2006-12-17 14:53:00) 

Добрый день!
Добавляю запросом новую запись. После выполнения запроса, курсор становится на первую запись. Мне необходимо знать ID (ключевое поле - PK) новой записи. Определяю его по мах значению ID. Есть ли иные способы?


VadimSpb   (2006-12-17 23:11:00) [1]


> Anatoly Podgoretsky ©   (17.12.06 18:04) [8]

Спасибо.


Anatoly Podgoretsky   (2006-12-17 18:04:00) [2]

> VadimSpb  (17.12.2006 17:44:06)  [6]

> Речь идет об этом?

Речь идет об этом


VadimSpb   (2006-12-17 17:46:00) [3]

Desdechado ©   (17.12.06 17:43) [5]
Поэтому и спросил, чувствую, что могут быть ОНИ :-))


VadimSpb   (2006-12-17 17:44:00) [4]

Выполняю в ADOQuery
INSERT INTO PINCode (PIN) VALUES ('1')
SELECT @@IDENTITY AS 'Identity'

одним запросом. Речь идет об этом?


Desdechado   (2006-12-17 17:43:00) [5]

Select Max в многопользовательской среде - прямой путь на грабли, целое поле грабель.


VadimSpb   (2006-12-17 17:17:00) [6]

Есть IDENTITY  и есть @@IDENTITY двайте уточним о чем речь.


sniknik   (2006-12-17 15:51:00) [7]

> Хм. Это известно,
если известно, то зачем спрашиваешь?

> но для определения последнего ID фактически это то же что и SELECT MAX(ID) FROM tbName:
во первых не то же самое, идентити это локальная, в пределах сессии, переменная, а значит считанная после вставки никак не даст неверный результат если вдруг параллельно в другой сессии еще идут вставки и какаято вклинилась между твоими записью и чтением. даст значение именно твоей вставки.
и во вторых, вот это  
> SELECT     MAX($IDENTITY)
> FROM         tbName
бред. почитай всетаки справку по идентити. про переменную а не про не пойми что (и откуда взял интересно).


VadimSpb   (2006-12-17 15:27:00) [8]

Хм. Это известно, могу заполнять разрывы и т.д., но для определения последнего ID фактически это то же что и SELECT MAX(ID) FROM tbName:

SELECT     MAX($IDENTITY)
FROM         tbName

Если мне не надо заполнять разрывы в ID, то и разницы нет.


Anatoly Podgoretsky   (2006-12-17 14:55:00) [9]

SELECT IDENTITY

Когда будем справку читать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо