1

好的,不知道这是否可行..

我有一个查询,它只返回数据库中的简单记录,但格式化为 XML,如下所示:

select name, address, dateCreated, flag
from table
where name = 'test'
for xml path('row'), root('rows')

好的,没问题,我得到了所需的 XML:

<rows>
  <row>
    <name>jddjdjd</name>
    <address>dkdkdkdkdkd</address>
    .. and so on...
  </row>
</rows>

但我想知道的是

如果我可以让 XML 返回如下:

<rows>
  <row id='@@rowcount'>
    <name>jddjdjd</name>
    <address>dkdkdkdkdkd</address>
    .. and so on...
  </row>
</rows>

正如您所看到的,我真的可以处理返回带有@@rowcount 属性的节点,甚至是select 语句中的字段(不确定这是否可能!!)

非常感谢任何帮助!!!大卫。

4

1 回答 1

2

您可以别名@@rowcount'@id',例如:

declare @t table (name varchar(25))

insert @t (name) values ('jddjdjd')

select  @@rowcount as '@id'
,       name
from    @t
for xml path('row'), root('rows')

这打印:

<rows>
    <row id="1">
        <name>jddjdjd</name>
    </row>
</rows>

但是,我不确定它是否明确定义了@@rowcount它变成属性时的含义。

于 2010-10-31T11:32:36.417 回答