T-SQL动态XQuery

本演示,是把这篇:http://www.cnblogs.com/insus/archive/2012/02/29/2374826.html 改为动态的T-SQL。

宣告三个变量,第一个为@nodes :

  DECLARE  @nodes  NVARCHAR( MAX=  ''' /Devs/lang/@name '''

 

第二个为@value:

DECLARE  @value  NVARCHAR( MAX=  ''' (.) '' , '' NVARCHAR(MAX) '''

 

第三个为@sql,其实前两个变量也是为此变量所使用,查询LIKE的条件,本例中,也有所改变,即是查询所有值包含有".NET"。:

DECLARE  @sql  NVARCHAR( MAX=  ' SELECT 
    lang = L.n.value(
'  +  @value  + ' )
 FROM @xml.nodes(
'  +  @nodes  + ' ) L(n)
 WHERE L.n.value(
'  +  @value  + ' ) LIKE  '' %.NET% '''

 

使用sp_executesql 执行第三个变量:

EXECUTE sp_executesql  @sql, N ' @xml xml '@xml  =  @xml

 

Exec执行得到的结果:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值