2014-05-14 1 views
-1

SQL Server 2012 저장 프로 시저를 개발 중입니다.CTE를 사용하여 구문 분석 된 XML 삽입

<Commissioning> 
    <Item ProductionId="115100" ItemId="100" ItemPackagingLevelId="1" ItemFlag="0" TimeStamp="2014-04-28T16:02:59.913" Username="" Source="PLS" /> 
    <Item ProductionId="115101" ItemId="101" ItemPackagingLevelId="1" ItemFlag="0" TimeStamp="2014-04-28T16:03:00.113" Username="" Source="PLS" /> 
    <Item ProductionId="115102" ItemId="102" ItemPackagingLevelId="1" ItemFlag="0" TimeStamp="2014-04-28T16:03:00.317" Username="" Source="PLS" /> 
    <Item ProductionId="115103" ItemId="103" ItemPackagingLevelId="1" ItemFlag="0" TimeStamp="2014-04-28T16:03:00.517" Username="" Source="PLS" /> 
    <Item ProductionId="115104" ItemId="104" ItemPackagingLevelId="1" ItemFlag="0" TimeStamp="2014-04-28T16:03:00.727" Username="" Source="PLS" /> 
</Commissioning> 

그리고 그 데이터에 몇 가지 계산을하고 싶어하기 때문에 CTE에 ItemIdItemPackagingLevelId를 삽입 :

나는이 XML을 구문 분석합니다.

어떻게하면됩니까?

+0

지금까지 무엇을 가지고 계셨습니까? – Jeroen

+0

왜 이런 건설적인 downvote 주셔서 감사합니다. – VansFannel

+0

미안하지만, 나는 downvoted, 나는 툴팁 ("이 질문은 연구 노력을 표시하지 않습니다.") 내 덧글로 왜 이미 설명했다. 지금까지 해봤 던 코드를 보여 주거나 특정 문제 나 장애물이 무엇인지 등을 알려주는 것이 좋을 것 같습니다. 현재 귀하의 질문은 요구 사항이 충족되어야하는 샘플 데이터가있는 요구 사항으로 만 읽습니다. – Jeroen

답변

1

이렇게 ...?

;with cte as (
    select 
     x.n.value('./@ItemId','varchar(100)') as ItemID, 
     x.n.value('./@ItemPackagingLevelId','varchar(100)') as LevelID 
    from @x.nodes('/Commissioning/Item') x(n) 
) 
    select * from cte 
+0

고마워요. 이것이 제가 찾고 있던 것입니다. – VansFannel