SQL Server: получить автоматически увеличенный идентификатор внутри хранимой процедуры?
-
06-07-2019 - |
Вопрос
В моей базе данных есть родительская таблица с автоматически увеличивающимся идентификатором первичного ключа '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 ();
Не связан с StackOverflow