Я работаю над приложением, которое импортирует данные из Access в SQL Server 2008. В настоящее время я использую хранимую процедуру для импорта данных индивидуально по записи. Я не могу выполнить массовую вставку или что-то в этом роде, потому что данные вставляются в две связанные таблицы ... У меня есть несколько полей, которые входят в таблицу Account (имя, фамилия и т. Д.) И три поля каждая из которых будет иметь запись в таблице страхования, связанную с таблицей счетов с помощью автоматически увеличивающегося идентификатора учетной записи, который выбран с помощью SCOPE_IDENTITY в хранимой процедуре.
Производительность не очень хорошая из-за количества обращений к базе данных из приложения. По этой и некоторым другим причинам я планирую вместо этого использовать промежуточную таблицу и импортировать данные оттуда. Читая о моих вариантах приближения к этому, имеет смысл иметь курсор, который выполняет ту же хранимую процедуру вставки для данных в промежуточной таблице. Однако кажется, что курсоры являются воплощением зла, и их следует избегать.
Есть ли способ вставить данные в одну таблицу, извлечь автоматически сгенерированные идентификаторы, а затем вставить данные для тех же записей в другую таблицу, используя соответствующий идентификатор, в операции на основе набора? Или курсор - мой единственный вариант?