Я пытаюсь написать SQL. Я хочу добавить данные в 2 связанные таблицы. Данные, которые будут записаны в эти 2 таблицы, взяты из 2 разных таблиц, и они также связаны между собой. Есть 3 строки в первой таблице и 9 строк во второй таблице. Мне нужно перенести их в 2 другие связанные таблицы. Я использую C # для программирования
Основная таблица источников (S1):
ID TYPE STATUS
1015 12 2
1016 12 10
1021 12 4
Дочерняя исходная таблица (S2), связанная по UID:
ID UID PRODUCTREF AMOUNT
1090 1015 1268 2
1091 1015 1269 5
1093 1016 1269 2
1094 1016 1270 2
1096 1016 1271 5
1097 1015 268 4
1098 1016 269 10
1099 1021 1268 12
1100 1021 269 3
Пример таблицы назначения после запуска SQL, например:
Основная таблица назначения (D1):
ID STATUS
1 2
2 10
3 4
Таблица назначения детей (D2), связанная с REFID:
ID REFID PRODUCTREF AMOUNT
1 1 1268 2
2 1 1269 5
3 2 1269 2
4 2 1270 2
5 2 1271 5
6 1 268 4
7 2 269 10
8 3 1268 12
9 3 269 3
Возможно ли это сразу? Как это сделать, если это невозможно сразу?
Спасибо ...
Редактировать:
Я пытался запросить транзакцию, но не смог
BEGIN TRANSACTION;
DECLARE @DataID int;
INSERT INTO D1 STATUS SELECT STATUS FROM S1 AS S1;
SELECT @DataID = SCOPE IDENTITY();
INSERT INTO D2 (REFID, PRODUCTREF, AMOUNT) SELECT @DataID, PRODUCTREF, AMOUNT FROM S2
WHERE UID = S1.ID
COMMIT;