上記のリンクを拡張しようとしていましたhttp://blogs.msdn.com/b/biztalkcpr/archive/2009/10/05/inserting-parent-child-records-with-identity-column-using-wcf-sql- adapter-in-one-transaction.aspx#comments
私の問題は:
私は3つのテーブルを持っています....最初の2つのテーブルはid
...私は2番目のテーブルの最初のテーブルのIDENTITY
を取得する必要がありますid
次にid
、3番目のテーブルの1番目と2番目のテーブルを取得する必要があります.....id
最初のテーブルを2番目のテーブルに取得することができました
しかし、2番目のテーブルを3番目のテーブルに入れることができませんid
........... WCF SQLアダプターを使用してストアドプロシージャを使用していますが、ストアドプロシージャは次のようになります。
CREATE Procedure [dbo].[InsertHeader]
(
@parHeader As Header READONLY,
@parHeader_Details As HeaderDetails READONLY,
@parHeader_Details1 As HeaderDetails1 READONLY
)
AS
SET NOCOUNT ON
BEGIN
DECLARE @id int, @id1 int
INSERT INTO EDI834_5010_Header([File_Name_EDI834], [ST01], [ST02], [ST03],
[BGN01__TransactionSetPurposeCode],
[BGN02__TransactionSetIdentifierCode],
[BGN03__TransactionSetCreationDate],
[BGN04__TransactionSetCreationTime],
[BGN08__ActionCode], [SE01], [SE02])
SELECT
[File_Name_EDI834], [ST01], [ST02], [ST03],
[BGN01__TransactionSetPurposeCode], [BGN02__TransactionSetIdentifierCode],
[BGN03__TransactionSetCreationDate], [BGN04__TransactionSetCreationTime],
[BGN08__ActionCode], [SE01], [SE02]
FROM @parHeader;
SET @id = @@IDENTITY;
INSERT INTO EDI834_5010_2000([Header_Id], [INS01__InsuredIndicator],
[INS02__IndividualRelationshipCode],
[INS03__MaintenanceTypeCode],
[INS04__MaintenanceReasonCode],
[INS05__BenefitStatusCode])
SELECT @id, [INS01__InsuredIndicator], [INS02__IndividualRelationshipCode],
[INS03__MaintenanceTypeCode], [INS04__MaintenanceReasonCode],
[INS05__BenefitStatusCode]
FROM @parHeader_Details;
SET @id1 = @@IDENTITY;
INSERT INTO EDI834_5010_2300Loop([Id_Header_Id], [Id_Loop2000],
[HD01_MaintenanceTypeCode], [HD03_InsuranceLineCode],
[HD04_PlanCoverageDescription])
SELECT @id, @id1,
HD01_MaintenanceTypeCode, HD03_InsuranceLineCode,
HD04_PlanCoverageDescription
FROM @parHeader_Details1;
RETURN @id1;
END
2番目のテーブルのを3番目に取得するためにストアドプロシージャで何を変更する必要がありますかid
.......xmlには非常に多くのループがあるため、3番目のテーブルで適切なIDを取得する必要があります
そして私のデータはこのように見えます
<Header details>
<Header_Details1> data </Header_Details>
<Header_Details1> data </Header_Details>
<Header_Details1> data </Header_Details>
<Header_details>
<Header details>
<Header_Details1> data </Header_Details>
<Header_Details1> data </Header_Details>
<Header_Details1> data </Header_Details>
<Header_details>