Как выбрать последнее вставленное значение таблицы в SQL Server? - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь выбрать идентификатор последнего вставленного значения в моей базе данных в SQL Server.Я пробовал много способов, например @@IDENTITY, IDENT_CURRENT('TableName'), SCOPE_IDENTITY(), но ничего не получалось.Также я пытался упорядочить, но у меня ничего не получалось.

В моем коде у меня есть

Select top(1)* 
from Ferramenta_Limpeza 
where Ferramenta_ID!='' and (Id_Gestao between'1' and '434')
order by Id_Gestao desc

Моя логика заключалась в том, чтобы найти значение, отличное от пустого, от 1 до 434Проблема в том, что это, всегда показывать последнее значение, даже если я вставляю другую запись в 'ID = 1', это означает, что я пытался обновить значение Id 1, и когда я попытался выбрать тот же самый выбор, чтобы показать значение las isertedили обновленный код просто показывает последнюю строку

Может кто-нибудь объяснить, как это сделать?

1 Ответ

0 голосов
/ 10 июля 2019

При использовании @@ IDENTITY, IDENT_CURRENT ('TableName'), SCOPE_IDENTITY () у вас должен быть столбец со значением приращения IDENTITY.

Пример: создать временную таблицу

 CREATE TABLE #TableName
 (
   ID [int] IDENTITY(1,1),
   Name_value VARCHAR(100)
 )

- выполнить вставку, и это даст вам последнее вставленное значение

 insert into #TableName (Name_value) values ('test1')
 insert into #TableName (Name_value) values ('test2')
 insert into #TableName (Name_value) values ('test3')

 select SCOPE_IDENTITY()

Убедитесь, что вы прочитали следующую ссылку и поняли разницу в выводе

Чточем разница между Scope_Identity (), Identity (), @@ Identity и Ident_Current ()?

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