Я использую следующую инструкцию SQL Server для вставки записей и возврата уникального значения auto-inc ID за один раз. Интересно, есть ли более простой / быстрый / лучший способ сделать это?
SET NOCOUNT ON;
DECLARE @res table (ID bigint);
INSERT INTO [Titles] ([Name],[Timestamp],[Title])
OUTPUT INSERTED.ID INTO @res
VALUES ('Name','23 aug 2010','this is a title');
SELECT [ID] FROM @res;
UPD: Решение, которое подходит мне лучше всего, следующее:
INSERT INTO [TestCase] ([Name],[Tags],[Timestamp],[Title])
OUTPUT INSERTED.*
VALUES ('Hello',0x22324423,'23 aug 2010','this is a title');
Очень удобен для генерации кода. Вы можете легко сгенерировать эти операторы для любой структуры данных посредством отражения. Также очень хорошо заменит Linq2SQL Dataset.InsertOnSubmit()
.