2017-10-13 118 views
0

私のエラーを解決する解決策を見つけようとしていますが、このトピックに関連するスレッドでは何も見つかりませんでした。私は行方不明になっています。xmlnamespacesの場合、前のステートメントはセミコロンで終了する必要があります

私は、MS SQLで、次のブロックがある -

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 

を私は以下のエラーが出ますが、私は本当に私が何をしないのです理解していません。私はセミコロン(;)またはコンマ(、)で試していますが、ここで以前の同僚の解決策として見ることができます。

Msg 156、レベル15、状態1、行15 キーワード 'WITH'の近くに構文が正しくありません。 メッセージ319、レベル15、状態1、行15 'with'キーワードの構文が正しくありません。この文が共通テーブル式、xmlnamespaces句または変更追跡コンテキスト句である場合、前の文はセミコロンで終了する必要があります。

おかげ

+0

SELECT前の文と一緒に移動(および追加;?それは –

+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

あなたは大歓迎です。答えを受け入れてください。 –

関連する問題