gpt4 book ai didi

sql-server - 这个 OpenXML 有什么问题?

转载 作者:行者123 更新时间:2023-12-03 21:15:23 25 4
gpt4 key购买 nike

ALTER PROCEDURE GetSingersGenere
(@SingerData ntext)
AS
BEGIN
DECLARE @hDoc int
exec sp_xml_preparedocument @hDoc OUTPUT,@SingerData


IF OBject_id('SingerTable') IS NOT NULL
BEGIN
DROP TABLE SingerTable

END

CREATE TABLE SingerTable
(
SingerName varchar(200)
)

INSERT INTO SingerTable
(
SingerName
)
SELECT * FROM OpenXML (@hDoc,'/Singers/Singer')
WITH (SingerName varchar(200)) XMLSinger

SELECT * FROM SingerTable
END

我执行的方式是这样的:-

EXEC GetSingersGenere
'<Singers>
<Singer>
Joe
</Singer>
<Singer>
ACDC
</Singer>
</Singers>'

我看到 NULL 被插入到表中。谁能指出错误?

最佳答案

默认情况下,OPENXML 将查看数据的属性值或子元素。如果您将选择写为:

SELECT * FROM OpenXML (@hDoc,'/Singers/Singer')
WITH (SingerName varchar(200) 'text()') XMLSinger

它应该工作正常。请注意在架构映射中添加“text()”以指定我们只需要节点的文本值而不是任何属性值。

关于sql-server - 这个 OpenXML 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com