在没有源表的情况下查询在TSQL中构造XML,只有变量?

时间:2010-03-16 21:09:31

标签: sql sql-server xml sql-server-2005 tsql

在MS SQL 2005 TSQL中使用SELECT语句,没有源表,只有下面列出的变量......

@FirstName varchar(20)
@LastName varchar(20)
@ZipCode varchar(5)

......构建类似于以下内容的XML的语法是什么?

<XMLDATA><REC FirstName="JOHN" LastName="SMITH" ZipCode="98052" /></XMLDATA>

1 个答案:

答案 0 :(得分:1)

这个怎么样:

DECLARE @FirstName varchar(20) 
SET @FirstName = 'JOHN'

DECLARE @LastName varchar(20)
SET @LastName = 'SMITH'

DECLARE @ZipCode varchar(5)
SET @ZipCode = '98052'

SELECT
 @FirstName AS '@FirstName',
 @LastName AS '@LastName',
 @ZipCode AS '@ZipCode'
FOR 
    XML PATH('REC'), ROOT('XMLDATA')

FOR XML PATH('REC')定义XML标记,AS '@FirstName'指定您希望此值成为该XML标记的属性。 ROOT('XMLDATA')将整个内容包装到外部的另一个XML标记中。