में सीटीई "साथ" और "XMLNAMESPACES के साथ ...." को मिलाएं क्या कोई SQL सर्वर के टी-एसक्यूएल में एक सीटीई बनाने में कामयाब रहा है जिसमें WITH XMLNAMESPACES
घोषणा भी शामिल है?SQL सर्वर
ऐसा लगता है दोनों WITH
कीवर्ड जा रहा है "पहले T-SQL बैच में" पर जोर देते हैं, और वह काम नहीं करता है वास्तव में ....
मैंने कोशिश की:
WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
WITH CTEQuery AS
(
SELECT (list of fields)
FROM dbo.MyTable
WHERE (conditions)
)
SELECT * FROM CTEQuery
नहीं आया ' काम नहीं :-((वाक्यविन्यास त्रुटियों)
संदेश 156, स्तर 15, राज्य 1, पंक्ति 2
कीवर्ड 'के साथ' के पास गलत वाक्य रचना।
संदेश 319, स्तर 15, राज्य 1, रेखा 2
कीवर्ड 'साथ' के पास गलत वाक्यविन्यास। यदि यह कथन सामान्य तालिका अभिव्यक्ति है, तो xmlnamespaces खंड या ट्रैकिंग संदर्भ खंड को बदलने, पिछले कथन को सेमिकोलन के साथ समाप्त कर दिया जाना चाहिए।
तो मैं दूसरे WITH
prepending अर्धविराम से करने की कोशिश की:
WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
;WITH CTEQuery AS
(
SELECT (list of fields)
FROM dbo.MyTable
WHERE (conditions)
)
SELECT * FROM CTEQuery
और यह मिल गया: 2
गलत वाक्य रचना के पास
संदेश 102, स्तर 15, राज्य 1, रेखा ';'।
और फिर मैं CTE में WITH XMLNAMESPACES
डालने की कोशिश की:
WITH CTEQuery AS
(
WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
SELECT (list of fields)
FROM dbo.MyTable
WHERE (conditions)
)
SELECT * FROM CTEQuery
और यह मिल गया: 4
गलत वाक्य रचना के पास
संदेश 156, स्तर 15, राज्य 1, रेखा कीवर्ड 'साथ'।
संदेश 319, स्तर 15, राज्य 1, रेखा 4
कीवर्ड 'साथ' के पास गलत वाक्यविन्यास। यदि यह कथन सामान्य तालिका अभिव्यक्ति है, तो xmlnamespaces खंड या ट्रैकिंग संदर्भ खंड को बदलने, पिछले कथन को सेमिकोलन के साथ समाप्त कर दिया जाना चाहिए।
संदेश 102, स्तर 15, राज्य 1, रेखा 21
') के पास गलत वाक्यविन्यास।
तो मैं यह कैसे करूँ ??
और 'XMLNAMESPACES' को पहले 'सीटीई' से पहले परिभाषित किया जाना चाहिए। – Gabrielius