2009-10-16 5 views
0

AIM에 기록을 할당하는 방법 :SQL - 변수

M000017690 
324067342 
324067349 
324067355 
324154449 

변환 된 XML :

<Products> 
    <Product ProductId="324067342" /> 
    <Product ProductId="324067349" /> 
    <Product ProductId="324067355" /> 
    <Product ProductId="324154449" /> 
    <Product ProductId="M000017690" /> 
</Products> 
설정 변수

결과를 XML로 결과 집합을 변환하고 그 결과를 할당

다음은 위의 결과 집합을 XML로 변환하는 데 사용 된 쿼리입니다.

Select 1 AS Tag,NULL AS Parent, NULL as [Products!1!ProductId],NULL as [Product!2!ProductId] 
From @Temp 
UNION 
SELECT 2 AS Tag, 1 AS Parent, ProductId, ProductId 
FROM @Temp 
FOR XML EXPLICIT 
XML 그래서 기본적인 아이디어는 XML 형식의 개체를 만드는 것입니다 : 이것에 쿼리의 결과를

DECLARE @xml_data as XML 

및 지정 1,363,210

는 지금은 매개 변수 유형을 예상하고 다른 저장된 프로 시저이 XML을 통과해야 변수, 쿼리의 결과를 @xml_data에 어떻게 할당합니까?

답변

1

어떻게 (최대 SQL 서버 2005 작품)에 대한 :

DECLARE @xmldata XML 

SELECT @xmlData = 
     (SELECT ProductId as '@ProductId' 
     FROM @Temp 
     FOR XML PATH('Product'), ROOT('Products') 
     ) 

SELECT @xmldata 

마크 마법처럼

+0

작품! :) 감사!!! –