我有下面的xml结构。我试图通过使用返回结果创建一个临时表,但我无法做到。
declare @xml xml
set @xml = '
<Root>
<ValueHolder>
<Value>3.00</Value>
<IsNoteDirty>false</IsNoteDirty>
<Timestamp>
<StampType>Month</StampType>
<Stamp>3</Stamp>
<Year>2007</Year>
</Timestamp>
</ValueHolder>
<ValueHolder>
<Value>23.00</Value>
<IsNoteDirty>false</IsNoteDirty>
<Timestamp>
<StampType>Month</StampType>
<Stamp>3</Stamp>
<Year>2007</Year>
</Timestamp>
</ValueHolder>
</Root>'
select Tab.Col.value('(Value)[1]','MONEY')
from @xml.nodes('/Root/ValueHolder') Tab(Col)
此代码非常完美。我想要做的是,将此结果放入临时表。我试过这个,但它不起作用
select * into #TempTable
from (select Tab.Col.value('(Value)[1]','MONEY')
from @xml.nodes('/Root/ValueHolder') Tab(Col))
错误消息是
Msg 102,Level 15,State 1,Line 26')'附近的语法不正确。
答案 0 :(得分:3)
尝试这样的事情:
select MoneyValue = Tab.Col.value('(Value)[1]', 'MONEY')
into #TempTable
from @xml.nodes('/Root/ValueHolder') Tab(Col)
如果我这样做就行得很好。