SQL Server: получить автоматически увеличенный идентификатор внутри хранимой процедуры? - PullRequest
4 голосов
/ 07 мая 2009

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

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

SELECT TOP 1 * FROM PARENT_TABLE

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

Ответы [ 2 ]

8 голосов
/ 07 мая 2009

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

declare @myid int
INSERT INTO table (field) VALUES ('value')
SELECT @myid = SCOPE_IDENTITY()
0 голосов
/ 07 мая 2009

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

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