2014-01-03 2 views
3

SQL: 2008 Совместимость: SQL 2008 ОС: Vista, Следующий запрос работает просто отлично и производит XML:Присвоение результата XML запроса в SQL Server для переменной типа XML выдает ошибку

with Q1 as 
    (select Job, Site from JJobs where Job > 602700) 
select * from Q1 where Job = 602720 
    for xml path('Detail'), type 

мне нужно поставить это в функцию, которая возвращает переменную XML так, я изменяю:

declare @xOut XML; 
set @xOut = 
with Q1 as 
    (select Job, Site from JJobs where Job > 602700) 
select * from Q1 where Job = 602720 
    for xml path('Detail'), type 

Это приводит к ошибке: Неправильный синтаксис около ключевого слова «с». Запрос работает, но ошибки присваивания и указывает на проблему с запросом. Любые идеи?

ответ

2
declare @xOut XML; 

with Q1 as 
(
    select Job, Site 
    from JJobs 
    where Job > 602700 
) 
select @xOut = (
       select * 
       from Q1 
       where Job = 602720 
       for xml path('Detail'), type 
       ); 
Смежные вопросы