Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将XML节点插入SQL Server中的表中_Sql Server_Xml_Xquery - Fatal编程技术网

Sql server 将XML节点插入SQL Server中的表中

Sql server 将XML节点插入SQL Server中的表中,sql-server,xml,xquery,Sql Server,Xml,Xquery,我想获取一个XML数据,并将每个节点值插入表的一行中。例如,我有: <Tags> <Tag>a</Tag> <Tag>b</Tag> <Tag>c</Tag> </Tags> 不要使用WHILE循环-集中思考 只需一句话,您就可以轻松做到这一点: INSERT INTO #T(tag) SELECT XTags.value('.', 'nvarc

我想获取一个XML数据,并将每个节点值插入表的一行中。例如,我有:

<Tags> 
    <Tag>a</Tag> 
    <Tag>b</Tag> 
    <Tag>c</Tag>
</Tags>
不要使用WHILE循环-集中思考

只需一句话,您就可以轻松做到这一点:

INSERT INTO #T(tag)
    SELECT
        XTags.value('.', 'nvarchar(100)')
    FROM 
        @TagsXML.nodes('/Tags/Tag') AS XTbl(XTags)
对.nodes的调用为您提供了一个XML标记列表,这些标记以XML片段的形式与这个XPath表达式相匹配——在这里,您可以获得所有元素的列表。从XML片段列表中,我选择唯一元素的内容为nvarchar100,并将其插入表中。通过使用WHILE循环折磨行方法,比RBAR行更高效、性能更好

不要使用WHILE循环-集中思考

只需一句话,您就可以轻松做到这一点:

INSERT INTO #T(tag)
    SELECT
        XTags.value('.', 'nvarchar(100)')
    FROM 
        @TagsXML.nodes('/Tags/Tag') AS XTbl(XTags)
对.nodes的调用为您提供了一个XML标记列表,这些标记以XML片段的形式与这个XPath表达式相匹配——在这里,您可以获得所有元素的列表。从XML片段列表中,我选择唯一元素的内容为nvarchar100,并将其插入表中。通过使用WHILE循环折磨行方法,比RBAR行更高效、性能更好