【发布时间】:2011-12-18 21:36:35
【问题描述】:
我的问题是:
我有三张桌子....前两张桌子有id 和IDENTITY...我需要在第二张桌子上获得id
然后我需要在第三张桌子中获得第一张和第二张桌子的id .....我能够将第一张桌子的id 放入第二张桌子
但是我无法将第二张表的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
我需要在我的存储过程中进行什么更改才能将第二个表的id 转换为第三个...... xml 中有很多循环,所以我需要在第三个表中获取适当的 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>
【问题讨论】:
-
欢迎来到 StackOverflow:如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行并单击“代码示例”按钮 (
{ }) 在编辑器工具栏上很好地格式化和语法突出显示它! -
...将长行分成较短的行也会有所帮助。很多。
-
到底是谁想出了这些表名和列名 ?!?!??!?!?
-
Hey mark_S :) 关于列名和表名,这些是 837 X12files .....只有列是这样的
标签: sql-server sql-server-2008 stored-procedures biztalk biztalk-2010