2010-10-08 2 views
0

SELECT SCOPE_IDENTITY всегда возвращает id = 1, что я сделал неправильно? Как получить текущий элемент вставленного элемента.О SCOPE_IDENTITY

+1

Возможно, это поможет нам показать код. –

+0

Можем ли мы увидеть код? –

ответ

0

Вы делаете это в рамках одной и той же процедуры? Является ли идентификатор фактически увеличивающимся в базе данных?

+0

Да, идентификатор фактически увеличивается в базе данных – user

0

Является ли столбец установленным как Идентичность = Да?

1

SCOPE_IDENTITY действительно возвращает столбец идентификации последней вставленной строки в области Вы находитесь.

Это может быть перепутано на несколько вещей, в том же объеме. В таком случае IDENT_CURRENT('myTable') будет лучше.

Если нет, вы хотите отправить больше кода. SCOPE_IDENTITY работает, как вы думаете, поэтому проблема, скорее всего, в другом месте.

+3

Как можно «запутать SCOPE_IDENTITY()' триггерами? Я думал, что это преимущество перед «@@ IDENTITY». –

+0

Это не должно, но может в некоторых случаях. http://cgaskell.wordpress.com/2006/11/15/using-identity-vs-scope_identity-and-further-implications-with-triggers/ –

+1

Вы это подтвердили? Комментарий angeliii, кажется, подразумевает некоторую ошибку пользователя со стороны автора блога. –

Смежные вопросы