私は次のXMLを持っています:
<row>
<el>Field1</el>
<el>Field2</el>
<el>Field3</el>
<el>Field4</el>
<el>Field5</el>
<el>Field6</el>
</row>
<row>
<el>R1C1</el>
<el>R1C2</el>
<el>R1C3</el>
<el>R1C4</el>
<el>R1C5</el>
<el>R1C6</el>
</row>
<row>
<el>R2C1</el>
<el>R2C2</el>
<el>R2C3</el>
<el>R2C4</el>
<el>R2C5</el>
<el>R2C6</el>
</row>
<row>
最初の行を削除したいですか?指定されたXML構造の2行目と3行目をテーブルに挿入するには、これを行う必要があります。これは私がしていることです:
SET @TSVDataXML = '<row>' + REPLACE( ( '<el><![CDATA[' + REPLACE(@CommentText, CHAR(9), ']]></el><el><![CDATA[') + ']]></el>' ), CHAR(13), ']]></el></row><row><el><![CDATA[' ) + '</row>'
SELECT @TSVDataXML
INSERT INTO @ResultTable(Field1,Field2,Field3,Field4,Field5,Field6)
SELECT tbl.col.value('el[1]','NVARCHAR(20)')
,tbl.col.value('el[2]','NVARCHAR(20)')
,tbl.col.value('el[3]','NVARCHAR(20)')
,tbl.col.value('el[4]','NVARCHAR(20)')
,tbl.col.value('el[5]','NVARCHAR(20)')
,tbl.col.value('el[6]','NVARCHAR(20)')
FROM @TSVDataXML.nodes('//row') AS tbl(col)
したがって、私の問題の代替ソリューションは、最初の行が挿入されていないwhere句を追加することです。残念ながら、私はXML関連の知識があまり得意ではありません。
アドバイス、回答、記事があれば役に立ちます。