Sql Server将查询插入临时表中的多个表中

时间:2015-05-11 14:19:32

标签: sql-server

我有两个表,一个是master,另一个是details表,Details表包含master table id作为参考

这是我的表

**Table_Customer**  
CustomerId  CustomerName
1           A
2           B

**Table_CustomerRelatives**         
RelativesId  CustomerId     RelativesName   Address
1                  1                M        xyz
2                  1                N        mno
3                  2                L        pqr
4                  2                O        ghy

此处CustomerId和RelativesId是标识列,因此自动生成columnvalue

这里有两个临时表,如

**TembreryTableCustomer**   
CustomerId  CustomerName
1               F
2               G
3               H

**TembreryTableDetails**        
CustomerId  RelativesName   Address
1              S             fgg
1              T             dfg
2              U             ghj
3              V             jkl
3              W             rty

如何将Temp表数据插入带有标识的表中。 在这里,我想插入临时表客户行并获取标识值,然后使用临时表客户身份插入临时表详细信息数据。

1 个答案:

答案 0 :(得分:1)

有几种方法,具体取决于SQL的版本以及您对工作放置位置的偏好。

我发现使用sequences比使用标识列更容易使用。您可以在临时表中使用与持久表中相同的序列,这样就没有" fixup"要做。

除此之外,您可以使用output子句插入持久表中以捕获新分配的ID。从链接中,查看示例" E"。显着特征是在临时表ID旁边输出持久性ID。