Моя база данных содержит две таблицы FileStore и FileRepository.
Таблица FileStore содержит 3 столбца: Id (автоматически сгенерированный уникальный идентификатор), FileName и Description -> В исходном состоянии с демонстрационными данными
Таблица FileRepository содержит 3 столбца: Id (автоматически сгенерированный уникальный идентификатор), Name и FileId (это относится к столбцу Id в таблице FileStore) -> В исходном состоянии с демонстрационными данными
Я получаю массив идентификаторов FileStore в качестве критерия поиска. При этом мне нужно сначала создать повторяющуюся строку в таблице FileStore для каждого из удовлетворенных критериев. Мне нужно создать повторяющуюся строку для второй таблицы FileRepository на основе тех же данных в столбце FileId. Здесь, но мне нужно обновить столбец FileId вновь созданной строки с помощью автоматически сгенерированного столбца Id из операции FileStore.
Скажите, ссылаясь на прикрепленные изображения, если мне нужно дублировать файл файлов 1 (с идентификатором b3304dc4- 4f2e-46d4-8f64-a597edb02e96 ) и File 2 (с Id 7cb40baf-1ecf-4e5f-92ff-57029a20e623 ) вот как в таблицах должны быть данные после операции FileStore db после дублирования. data таким образом:
FileRepository db после дублирования должны иметь данные таким образом:
Какой лучший способ сделать это ? Можно ли добиться этого с помощью запроса без каких-либо циклов?
Для первой таблицы я могу вставить и получить вставленные идентификаторы следующим образом:
INSERT INTO FileStore(FileName,Description)
OUTPUT INSERTED.Id as InsertedIds
SELECT
FileName, Description
from FileStore
where Id IN ('b3304dc4-4f2e-46d4-8f64-a597edb02e96','7cb40baf-1ecf-4e5f-92ff-57029a20e623')
Но не был уверен в запросе на обновление таблица FileRepository, которая принимает InsertedIds в качестве входных данных
INSERT INTO FileRepository(Name,FileId)
SELECT
Name, {{How do I use InsertedDetails here?}}
from FileRepository
where FileId IN ('b3304dc4-4f2e-46d4-8f64-a597edb02e96','7cb40baf-1ecf-4e5f-92ff-57029a20e623')
PS: Это просто справочная таблица, которую я создал для этого вопроса. Пожалуйста, дайте мне знать, если мне нужно пояснить