1
以下、これまでに試したことを示しています。SQL Server:Whileループでカーソルを使用してXMLファイルをエクスポートする
カーソルを使用してSQL Server while
ループがあります。
SELECT NAME
FROM TRDR
WHERE TRDR = MyCursor.TRDR
私はカーソル@MyCursor
DECLARE @MyCursor CURSOR;
DECLARE @MyField INT;
DECLARE @FromDate DATE;
DECLARE @ToDate DATE;
DECLARE @Serie INT;
DECLARE @Sosource INT;
DECLARE @trdr INT;
SET @FromDate = '20160901';
SET @ToDate = '20160930';
SET @Serie = 4700;
SET @Sosource = 1416;
SET @trdr = 2835;
BEGIN
SET @MyCursor = CURSOR FOR
SELECT TOP 1000 FINDOC, TRDR
FROM FINDOC
WHERE SOSOURCE = @Sosource
AND TRNDATE >= @FromDate
AND TRNDATE <= @ToDate
AND SERIES = @Serie
AND TRDR = 2835
END
OPEN @MyCursor
FETCH NEXT FROM @MyCursor INTO @MyField
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT NAME
FROM TRDR
WHERE TRDR = MyCursor.TRDR
FOR XML PATH('GrpHdr'), ROOT ('CstmrCdtTrfInitn')
FETCH NEXT FROM @MyCursor INTO @MyField
END;
CLOSE @MyCursor ;
DEALLOCATE @MyCursor;
それは以下のようにあるべき予想される出力の値をとる方法について確認していない:私のクエリでの問題は、以下のコードでの行にあります:
<CstmrCdtTrfInitn>
<GrpHdr>
<name>Chris</name>
</GrpHdr>
<GrpHdr>
<name>Martin</name>
</GrpHdr>
<GrpHdr>
<name>John</name>
</GrpHdr>
<GrpHdr>
<name>George</name>
</GrpHdr>
<GrpHdr>
<name>Michael</name>
</GrpHdr>
</CstmrCdtTrfInitn>
ありがとうございました。それは私の問題を解決しますが、多くのXMLファイルが作成されます。 XMLファイルを1つだけ作成することは可能ですか? – user2242558
入力したデータと予想される結果の両方を表示できますか? –
私の質問に予想される出力を追加しました – user2242558