将变量设置为SQL Server中的变量
我正在解决一个连我的同事都说不可能解决的问题。我们的数据库中已经有XML,我希望能够从XML中获取单个属性,并将它们设置为要处理的变量。这是我的代码,到目前为止不起作用将变量设置为SQL Server中的变量,sql,sql-server,xml,Sql,Sql Server,Xml,我正在解决一个连我的同事都说不可能解决的问题。我们的数据库中已经有XML,我希望能够从XML中获取单个属性,并将它们设置为要处理的变量。这是我的代码,到目前为止不起作用 declare @MyText varchar(10) declare @MyXML XML set @MyXML = ' <ns0:TestXML xmlns:ns0="http://test.com"> <TestValue>11</TestValue&
declare @MyText varchar(10)
declare @MyXML XML
set @MyXML = '
<ns0:TestXML xmlns:ns0="http://test.com">
<TestValue>11</TestValue>
</ns0:TestXML>'
set @MyText =
(
;with XMLNAMESPACES ('http://test.com' as ns0)
set @MyText =
(
select
a.bo.value('(/ns0:TestXML2[1]/TestXML3)[1]','INT') as [Number]
from @MyXML.nodes('ns0:TestXML') a(bo)
)
)
任何帮助都将不胜感激,谢谢。另外,如果我对SQL如何处理XML的逻辑完全错误,请毫不犹豫地告诉我 这是怎么回事,它从提供的XML中返回11,这是您想要的,我假设:
declare @MyText varchar(10)
declare @MyXML XML
set @MyXML = '
<ns0:TestXML xmlns:ns0="http://test.com">
<TestValue>11</TestValue>
</ns0:TestXML>'
;with XMLNAMESPACES ('http://test.com' as ns0)
select @MyText =
a.bo.value('(/ns0:TestXML)[1]','INT')
from @MyXML.nodes('ns0:TestXML') a(bo)
select @MyText as [TheImpossibleValue]
xml是在数据库中键入的吗?