3

xml データの列を含む SQL Server 2005 のビューがあります。列はfor xml path()クエリから取得されます。つまり、

SELECT     e.id, eventTypeCode, e.startDate, e.endDate,
(select v.name 
 from venue v inner 
 join eventVenue ev on ev.venueCode=v.code 
 where ev.eventId=e.id for xml path('venue')) as venues    
FROM dbo.event e 
inner join eventType t on e.eventTypeCode=t.code 

ここで、データを xml として返すストアド プロシージャでこのビューを参照したいと考えています。

create procedure getWebsiteMainCalendarEvents
@startDate datetime,
@endDate datetime
as
select * from vwWebsiteMainCalendar 
 where startDate between @startDate and @endDate 
order by startDate for xml path() element

手順を実行すると、ビューの会場がサブノードとして表示されますが、<html>エンティティとしてエンコードされます。出力でxmlデータをxmlノードとして扱う手順を取得する方法はありますか?

4

1 に答える 1

0

整理しました。ビューには、for xml path() に「type」が付加されている必要があります。つまり、

-- VENUES
(select v.name from venue v inner join eventVenue ev on ev.venueCode=v.code where ev.eventId=e.id for xml path('venue'))

する必要があります

-- VENUES

(会場から v.name を選択 v 内部結合 eventVenue ev on ev.venueCode=v.code where ev.eventId=e.id for xml path('venue'), type )

于 2012-06-29T09:39:23.427 に答える