我有一個表:文本XML到SQL表...有,然後再返回
with XMLData as (
SELECT uid, commonname, cast(labeldetails as XML) labelxml
FROM [MyLables]
)
SELECT
uid
,commonname
,labelxml
FROM
XMLData [x]
我得到(濃縮爲簡單起見):
B8A3DF5E OrderType1 <NewDataSet><LabelData><Name>1d Vert</Name><Column>...
9D0F94C7 OrderType2 <NewDataSet><LabelData><Name>ItemNumber1D</Name><Co...
內標籤詳情是XML數據
<NewDataSet>
<LabelData>
<Name>mol</Name>
<Column>mol</Column>
<Type>MOLIMAGE</Type>
<xpos>510</xpos>
<ypos>110</ypos>
<width>auto</width>
<height>auto</height>
<Font>Arial</Font>
<Fontsize>10.0</Fontsize>
<FontStyle>Normal</FontStyle>
<Caption />
<_x0032_DBarcode_Margin>1</_x0032_DBarcode_Margin>
<_x0032_DBarcode_ModSize>5</_x0032_DBarcode_ModSize>
<MOL_WIDTH>200</MOL_WIDTH>
<MOL_HEIGHT>200</MOL_HEIGHT>
<_x0020_MOL_MARGIN>15</_x0020_MOL_MARGIN>
<MOL_BONDLINEWIDTH>2</MOL_BONDLINEWIDTH>
<MOL_BONDSPACEING>5</MOL_BONDSPACEING>
<MOL_FONTSIZE>15</MOL_FONTSIZE>
<xpos_Inches>150</xpos_Inches>
<ypos_Inches>600</ypos_Inches>
<width_Inches>110</width_Inches>
<height_Inches>510</height_Inches>
<LogoImageName>110</LogoImageName>
<ypos_int>110</ypos_int>
<xpos_int>510</xpos_int>
</LabelData>
....
....
</NewDataSet>
我想將LabelDetails轉換爲XML並創建一個包含各行的Temp Table:
uid commonname id name column type xpos ypox ...
1234 OrderType1 1 col col TEXT 5 5 ...
1234 OrderType1 2 mol mol MOLIMAGE 1 1 ...
6789 OrderType2 1 col col TEXT 5 5 ...
我不認爲所有的XML表格都相同的行...假設不
我已經看了對方/從XML的問題和他們都不適合和我有點損失的下一步去哪裏...
最終,我期待轉換爲/從XML數據與目標是使用此作爲「停止差距」之間的我們的「系統」存儲這些數據的新方式以及一種新的方式。
我在哪裏可以開始創建2個存儲過程:FromXMLtoTable和FromTableToXML
這可能工作,但是很複雜...如果有可能避免循環......有很多關於如何閱讀未知XML使用'local-name()'和'PIVOT'或*分組聚合*與動態創建的語句... – Shnugo