SQL Server: получить автоматически увеличенный идентификатор внутри хранимой процедуры?

StackOverflow https://stackoverflow.com/questions/831810

Вопрос

В моей базе данных есть родительская таблица с автоматически увеличивающимся идентификатором первичного ключа 'ID' и обычным столбцом TIMESTAMP. У меня есть дочерние таблицы с внешним ключом, которые ссылаются на родительский столбец «ID».

Я хочу написать хранимую процедуру, которая вставит новый столбец в родительскую и дочернюю базы данных. Как бы я установить дочерний столбец «ID» равным новому автоинкрементному родительскому столбцу «ID»? Требует ли это отдельного:

SELECT TOP 1 * FROM PARENT_TABLE

Или есть другой способ?

Это было полезно?

Решение

Вы можете получить его из SCOPE_IDENITY (). Например:

declare @myid int
INSERT INTO table (field) VALUES ('value')
SELECT @myid = SCOPE_IDENTITY()

Другие советы

выберите scope_identity ();

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top