ここに、表形式で表示したい私のxmlがあります
DECLARE @xml XML
SET @xml = '<root>
<row>one</row>
<row>two</row>
<row>three</row>
</root>'
SELECT
x.y.value('(row/text())[1]', 'varchar(5)')
FROM @xml.nodes('root') x(y)
最初の行のみを表示しています。のようなデータを表示したい
Mycolumn
-----------
one
two
three
SQLで何を変更する必要があるか教えてください。ありがとう
以下の方法のように xquery で select into を発行できませんでした
DECLARE @xml XML
SET @xml = '<root>
<row>one</row>
<row>two</row>
<row>three</row>
</root>'
SELECT *
INTO #Fields
FROM (SELECT
x.y.value('text()[1]', 'varchar(5)') as fields11
FROM @xml.nodes('root/row') x(y))
SELECT * FROM #Fields
DROP TABLE #Fields
しかし、私は以下の方法のように xuqery で挿入を使用できます
DECLARE @xml XML
SET @xml = '<root>
<row>one</row>
<row>two</row>
<row>three</row>
</root>'
CREATE TABLE #Fields(Field varchar(MAX))
INSERT INTO #Fields
SELECT
x.y.value('text()[1]', 'varchar(5)')
FROM @xml.nodes('root/row') x(y)
SELECT * FROM #Fields
DROP TABLE #Fields
そのため、誰でも xquery を使用して select into を構築するのを手伝うことができます。ありがとう
NOW XQUERY で動作する選択
DECLARE @xml XML
SET @xml = '<root>
<row>one</row>
<row>two</row>
<row>three</row>
</root>'
SELECT x.y.value('text()[1]', 'varchar(5)') Mycolumn into #Fields
FROM @xml.nodes('root/row') x(y)
select * from #Fields
drop table #Fields