一次将链接数据插入链接表

时间:2018-10-30 20:40:53

标签: sql insert linked-tables

我正在尝试编写SQL。我想将数据添加到2个链接表中。将要写入这2个表中的数据取自2个不同的表,并且这些数据也已链接。第一个表中有3行,第二个表中有9行。我需要将它们转移到其他2个链接表中。我正在使用C#进行编程

主要来源表(S1):

ID    TYPE   STATUS
1015    12        2
1016    12       10
1021    12        4

通过UID链接的子源表(S2):

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

通过REFID链接的子目标表(D2):

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;

0 个答案:

没有答案