Я сохранил процедуру, как показано ниже.
CREATE procedure [dbo].[Poll_EDI834_5010]
AS
BEGIN
select
Header.ST01,
Header.ST02,
Header.ST03 ,
Header.SE02,
Line.INS01__InsuredIndicator ,
Line.PER04__CommunicationNumber ,
Line.PER05_CommunicationNumberQualifier ,
Line.DMG06_CitizenshipStatusCode ,
(select Member_Ref.REF01_ReferenceIdentificationQualifier ,Member_Ref.REF02_MemberSupplementalIdentifier
from EDI834_5010_2000_RefLoop Member_Ref
where Member_Ref.Id_Header = Header.BGN02__TransactionSetIdentifierCode
and Member_Ref.Id_Loop2000 = Line.Member_Id
for xml auto, elements, type) ,
(select Member_DTP.DTP01_DateTimeQualifier , Member_DTP.DTP02_DateTimePeriodFormatQualifier , Member_DTP.DTP03_StatusInformationEffectiveDate
from EDI834_5010_2000DTP Member_DTP
where Member_DTP.Header_Id = Header.BGN02__TransactionSetIdentifierCode
and Member_DTP.Member_Id = Line.Member_Id
for xml auto, elements, type) ,
VLine.HD01_MaintenanceTypeCode,
VLine.HD03_InsuranceLineCode ,
VLine.N402_ProviderStateCode ,
VLine.N403_ProviderPostalZoneorZIPCode ,
(select ClaimDTP.DTP01__DateTimeQualifier , ClaimDTP.DTP02__DateTimePeriodFormatQualifier , ClaimDTP.DTP03__StatusInformationEffectiveDate
from EDI834_5010_2300_DTPLoop ClaimDTP
where ClaimDTP.Id_Header = Header.BGN02__TransactionSetIdentifierCode
and ClaimDTP.Id_Loop2000 = Line.Member_Id
and ClaimDTP.Id_Loop2300 = VLine.Id_Claim
for xml auto, elements, type)
from EDI834_5010_Header Header
join EDI834_5010_2000 Line on Header.BGN02__TransactionSetIdentifierCode = Line.Header_Id
join EDI834_5010_2300Loop VLine on Header.BGN02__TransactionSetIdentifierCode = VLine.Id_Header_Id andVLine.Id_Loop2000=Line.Member_Id
for xml auto,ELEMENTS
END
GO
Его набирает около 100 000 записей. Мне нужно получить данные кусками. Например, сначала 10000, затем следующие 10000 ... что мне нужно изменить в моей хранимой процедуре, чтобы получить данные кусками.