Transact SQL - получить личность? - PullRequest
1 голос
/ 23 июля 2010

Как я могу получить последний или следующий идентификатор таблицы?

Ответы [ 2 ]

4 голосов
/ 23 июля 2010

Вы также можете запросить текущую IDENTITY таблицы в Management Studio, используя:

DBCC CHECKIDENT('YourTable')

но это ничего не говорит вам достоверно о том, какой будет следующая ИДЕНТИЧНОСТЬ - не пытайтесь вычислить следующую ИДЕНТИЧНОСТЬ самостоятельно! Позвольте SQL Server обработать это и захватить его, используя SCOPE_IDENTITY(), как только вставка произошла - на самом деле, только это уместно.

2 голосов
/ 23 июля 2010

SCOPE_IDENTITY (Transact-SQL)

Возвращает последнее значение идентификатора, вставленное в столбец идентификатора в той же области. Область действия - это модуль: хранимая процедура, триггер, функция или пакет. Поэтому два оператора находятся в одной и той же области, если они находятся в одной и той же хранимой процедуре, функции или пакете.

Еще немного информации в этом вопросе - Как вы скажете, какой будет следующая колонка идентификации?

И этот - Удостоверение SQL (autonumber) увеличивается даже при откате транзакции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...