2012-06-29 36 views
3

我在SQL Server 2005中有一个视图,其中包含一列xml数据。列来自一个for xml path()查询,即T-Sql返回XML列数据作为FOR XML查询中的节点

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节点?

+0

我已经对它进行了排序。该视图需要将'type'附加到for xml path(),即 –

回答

0

我已经整理了它。视图应该有附连到用于XML路径() '类型',即,

-- 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 v.name内部联接eventVenue EV上ev.venueCode = v.code其中ev.eventId = e.id for xml path('venue'),type