sql – 如何在变量中存储FOR XML Path的输出?

前端之家收集整理的这篇文章主要介绍了sql – 如何在变量中存储FOR XML Path的输出?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将 XML Path的输出存储在变量中.但是这不起作用:
  1. Declare @Tab dbo.SingleColumnTable
  2.  
  3. Insert INTO @Tab
  4.  
  5. Values(
  6. 'Jack'
  7. )
  8.  
  9. Insert INTO @Tab
  10.  
  11. Values(
  12. 'Armageddon'
  13. )
  14.  
  15. Declare @RetVal varchar(8000) = ''
  16.  
  17. Select Top 1 @RetVal = Data
  18. From
  19. (
  20. Select ';' + ' ' + Name as 'Data'
  21. From @Tab t2
  22. for xml path('')
  23. ) v

正如您所看到的,我正在尝试将返回的输出的列名设置为Data,但它不起作用.我收到错误名称’数据’无效.

解决方法

尝试改变
  1. Select Top 1 @RetVal = Data
  2. From
  3. (
  4. Select ';' + ' ' + Name as 'Data'
  5. From @Tab t2
  6. for xml path('')
  7. ) v

  1. Select @RetVal =
  2. (
  3. Select ';' + ' ' + Name as Data
  4. From @Tab t2
  5. for xml path('')
  6. )

SQL Fiddle DEMO

猜你在找的MsSQL相关文章