2017-10-13 1 views
0

내 오류를 해결할 수있는 해결책을 찾으려고했지만이 주제와 관련된 스레드에서 아무것도 찾을 수 없었습니다. 나는 실종되었거나 나 자신을 발견하지 못할 정도의 멍청하다. xmlnamespaces의 경우 이전 문은 세미콜론으로 끝나야합니다.

DECLARE @XMLFINAL VARCHAR(MAX) 
SET @XMLFINAL='' 
DECLARE @NUMBER NVARCHAR(100) 
DECLARE @XML VARCHAR(MAX) 

DECLARE Records CURSOR FAST_FORWARD FOR 

SELECT TOP 1 GID FROM PurchasesDocumentsLines 

OPEN Records 
FETCH NEXT FROM Records INTO @NUMBER 
WHILE @@FETCH_STATUS = 0 
BEGIN 
SET @XML='' 
SET @XML=(

SELECT (
WITH XMLNAMESPACES ('uri' as ns1) 
SELECT 
ProductCode, OrderedQuantity 

FROM PurchasesDocumentsLines WHERE [email protected] 
FOR 
XML RAW('EEE'), ELEMENTS 
)) 

FETCH NEXT FROM Records INTO @NUMBER 

SET @[email protected][email protected] 
END 

CLOSE Records DEALLOCATE Records 

내가 아래에 오류가 발생하지만 난 정말 내가 놓친 거지 이해하지 않는 -

나는 MS SQL에서 다음 블록을 가지고있다. 세미콜론 (;) 또는 쉼표 (,)로 시도했지만 이전 동료의 해결책으로 볼 수 있습니다.

메시지 156, 수준 15, 상태 1, 줄 15 키워드 'WITH'근처의 구문이 잘못되었습니다. 메시지 319, 수준 15, 상태 1, 줄 15 'with'키워드 근처의 구문이 잘못되었습니다. 이 문이 공통 테이블 식, xmlnamespaces 절 또는 변경 내용 추적 컨텍스트 절인 경우 이전 문은 세미콜론으로 끝나야합니다.

의견이 있으십니까? 감사합니다

+0

선택하기 전에 문으로 이동 (및 추가,?이 –

+0

@DmitrijKultasev 전에 - 당신이 여기에서 의미하는'SET의 @의 XML = '' SET의 @의 XML = ; XMLNAMESPACES (WITH 'NS1로 URI') SELECT' – cdrrrrr

+0

내 대답 –

답변

0
DECLARE @XML VARCHAR(MAX) 

;WITH XMLNAMESPACES ('uri' as ns1) 
SELECT @XML=(
SELECT 1 as one 
FOR XML RAW('EEE'), ELEMENTS 
) 
+0

고마워. 그것은 일했습니다 :) – cdrrrrr

+0

당신은 오신 것을 환영합니다. 그런 다음 대답을 수락하십시오. –

관련 문제