में खंड के साथ उपयोग करके मैं सोच रहा था कि यह संभव था या नहीं। (बड़े पैमाने पर सरलीकृत)एसक्यूएल सर्वर - एक INSERT कथन
;WITH alias (y,z)
AS
(
SELECT y,z FROM tableb
)
SELECT y, z FROM alias
मैं अब एक और तालिका में इस क्वेरी के परिणामों INSERT
करना चाहते हैं: मैं एक SELECT
क्वेरी इसलिए की तरह करने के लिए कुछ एकत्रित डेटा लागू करने के लिए WITH
खंड का उपयोग करता है तो मौजूदा क्वेरी की है।
मैं निम्नलिखित की कोशिश की है:
INSERT INTO tablea(a,b)
;WITH alias (y,z)
AS
(
SELECT y,z FROM tableb
)
SELECT y, z FROM alias
लेकिन मैं त्रुटि मिलती है:
Incorrect syntax near ';'.
तो मैं अर्धविराम के बिना की कोशिश की है, लेकिन त्रुटि मिली:
Incorrect syntax near the keyword 'WITH'.
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.
है मैं अलग-अलग वाक्यविन्यास के साथ क्या करने की कोशिश कर रहा हूं?
अर्धविराम एक बयान के ** अंत ** पर जाता है। इसे मोर्चे पर रखना एक बुरी आदत है और आपको अर्धविराम के साथ प्रत्येक कथन को ठीक से समाप्त करने के लिए उपयोग किया जाना चाहिए। –
क्या आपने 'INSERT' कथन के लिए [प्रलेखन] (http://msdn.microsoft.com/en-us/library/ms174335 (v = sql.110) .aspx) देखा था? यह दिखाता है कि सीटीई 'INSERT' से पहले आता है, और इसमें सीटीई का उपयोग करने का एक उदाहरण शामिल है। – Pondlife