생각 나는 WHILE
루핑 필요하지 않습니다이에 대한 접근 방식에 대한보고 싶은데 :
그래서 예는 다음과 같이 될 것이다. 그래서 다른 방법이 될 것이다 http://social.msdn.microsoft.com/Forums/nl/sqlxml/thread/46a7a90d-ebd6-47a9-ac56-c20b72925fb3
: 가장 큰 문제는 노드와 함께 항목의 위치를 반환하지만,이 게시물의 마지막 대답 해결 방법을 발견
insert into mytable ([Word])
select word from (
Select
words.value('@entry','nvarchar(max)') as word,
words.value('1+count(for $a in . return $a/../*[. << $a])', 'int') as Pos
from
OtherTable ot
cross apply ot.XMLColumn.nodes('words/word') x(words)
) sub where Pos <= @j
기본적으로 내부 쿼리 반환 각 단어 및 위치는 외부 쿼리에 의해 필터링 될 수 있습니다.
은 참조를 위해 OtherWords
테이블의 나의 정의했다 :
create table OtherTable (XMLColumn xml)
insert OtherTable (XMLColumn)
select '<words><word entry="Wibble"/><word entry="Hello"/><word entry="World"/></words>'
변수 이름에 따옴표를 사용하지 마십시오 : SQL을 : 변수 ("변수 이름 @") -> SQL : 변수 (@VariableName) – HuRN