Ответы - CodeHelperСписок последних 15 ответов на вопрос с сайта CodeHelperuuid:b96e72db-b716-4a7c-b7f9-c29638674c64;id=1642012-09-26T10:23:32Zuuid:b96e72db-b716-4a7c-b7f9-c29638674c64;id=165Как генерить уникальное поле(int) во время INSERT (MS SQL)2010-05-27T03:44:12-05:002010-05-27T03:44:12-05:00SergeyЗадача состоит в том, что у некоторого набора данных должен быть номер, который зависит от пользователя. Так вот нужно сделать INSERT, который сгенерит уникальный id, обязательно int, в зависимости отuuid:b96e72db-b716-4a7c-b7f9-c29638674c64;id=166Ответ от Sergey на вопрос с сайта CodeHelper2010-05-27T09:57:38-05:002010-05-27T09:57:38-05:00SergeyПока как решения на ум пришло использование максимальной блокировке транзакции Как то так: DECLARE @maxId int SET TRANSACTION ISOLATION LEVEL SERIALIZABLE BEGIN TRANSACTION ins SET @maxId = (SELECT ISNULL(MAX([some_id]),0) + 1 FROM [mapping] WHERE [user_id] = @user_id) INSERT INTO [mapping]