1

我浏览了一些来自不同博客的示例和评论,虽然我看到了很多使用 sql:variable 选择某些节点/属性的示例,但我不确定节点选择这样简单的东西是否可以用 SQL 变量替换. 例如,如果我有以下内容:

declare @NodeStartPoint    varchar(255) = '/root/parent/child'

后来,我可能会使用交叉应用,例如:

cross apply MyXml.nodes(@NodeStartPoint)

显然上述交叉应用节点选择不起作用。我也试过:

cross apply MyXml.nodes('sql:variable(@NodeStartPoint)')

可能还有其他一些奇怪的组合!

这个想法是让我可以从参数等传递节点选择。

我已经开始浏览http://blogs.msdn.com/b/mrys/http://msdn.microsoft.com/en-us/library/ms186960%28SQL.90%29.aspx但到目前为止,我找不到任何我想要达到的目标的例子,这让我觉得我找错了树!:)

任何想法都感激不尽!

4

1 回答 1

2

好的,鉴于我在互联网上看到的类似问题的回答类型,有点回答我自己的问题。这个非常相似:将参数传递给 T-SQL 节点方法(XML CROSS APPLY)

所以,我猜它不能在 nodes() 语句中使用变量替换来完成..

于 2013-03-08T12:05:25.560 回答