SQL Server - возвращаемое значение после INSERT - PullRequest
266 голосов
/ 27 октября 2011

Я пытаюсь вернуть значение ключа после оператора INSERT. Пример: У меня есть таблица с атрибутами name и id. id - это сгенерированное значение.

    INSERT INTO table (name) VALUES('bob');

Теперь я хочу вернуть идентификатор на том же этапе. Как это сделать?

Мы используем Microsoft SQL Server 2008.

Ответы [ 12 ]

0 голосов
/ 06 августа 2015

* Порядок параметров в строке подключения иногда важен.* Расположение параметра провайдера может нарушить курсор набора записей после добавления строки.Мы наблюдали такое поведение с провайдером SQLOLEDB.

После добавления строки поля строки недоступны, ЕСЛИ ОБЕСПЕЧИВАЕТСЯ, как поставщик указан как первый параметр в строке подключения.Когда поставщик находится где-либо в строке подключения, кроме как в качестве первого параметра, вновь вставленные поля строки недоступны.Когда мы переместили провайдера к первому параметру, магически появились поля строк.

0 голосов
/ 27 октября 2011

После выполнения вставки в таблицу со столбцом идентификаторов вы можете ссылаться на @@ IDENTITY, чтобы получить значение: http://msdn.microsoft.com/en-us/library/aa933167%28v=sql.80%29.aspx

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