提问者:小点点

使用insert into select将源列添加到输出子句


我的C#代码调用一个存储过程,并将一个tvp作为参数传递给storerd过程。 我需要将接收到的数据插入到几个数据库表中。

TVP schema:
TVP_ID int PRIMARY KEY IDENTITY, Col1 int, Col2 int, Col3 int.

首先,我需要将Col1插入表1:

Table1 schema:
Table1_ID int PRIMARY KEY IDENTITY, Col1 int

然后,我需要将所有列插入到表2中。

Table2 schema:
TVP_ID int, Col1 int, Col2 int, Col3 int, Table1_ID int

其中TVP_ID和Table1_ID是TVP和Table1表的主键。

我怎么能那么做?

谢啦!

编辑:我的问题是,当我拥有Table1时(在将数据插入到col1之后),TVP和Table1之间的连接不再存在。 TVP的Key是TVP_ID,Table1的Key是Table1_ID,我失去了它们之间的连接。

我插入了多行,那么一旦我向表1中添加了多行,我如何向表2中插入多行呢?


共1个答案

匿名用户

Insert Into table1(table1_ID, col1)
Output inserted.tabl1_id, inserted.col1 into table2
from .... (or Values()? )