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 に答える