8

forXMLPathの出力を変数に格納したいと思います。ただし、これは機能しません。

Declare @Tab    dbo.SingleColumnTable

Insert INTO @Tab

Values(
    'Jack'
)

Insert INTO @Tab

Values(
    'Armageddon'
)

Declare @RetVal varchar(8000) = ''

Select Top 1 @RetVal = Data
From
(
    Select ';' + ' ' + Name as 'Data'
               From @Tab t2
               for xml path('')
) v  

ご覧のとおり、返された出力の列名をDataとして設定しようとしていますが、機能しません。エラーが発生しますInvalid column name 'Data'.

4

1 に答える 1

15

変更してみる

Select Top 1 @RetVal = Data 
From 
( 
    Select ';' + ' ' + Name as 'Data' 
               From @Tab t2 
               for xml path('') 
) v

Select @RetVal = 
( 
    Select ';' + ' ' + Name as Data
   From @Tab t2 
   for xml path('') 
)

SQL フィドルのデモ

于 2012-10-02T04:37:13.003 に答える