2011-06-13 13 views
27

में संग्रहीत प्रक्रिया को कॉल करें क्या आपको एसक्यूएल सीटीई कथन के भीतर संग्रहीत प्रक्रियाओं को निष्पादित करने की अनुमति है? मैं एसक्यूएल सीटीई प्रश्नों के लिए थोड़ा नया हूं ...एसक्यूएल सीटीई

उत्तर

27

नहीं, क्षमा करें। का चयन करता है statments केवल

आप संग्रहीत proc निर्गम (परिणाम सेट) का उपयोग करने की जरूरत है, तो यह एक अस्थायी तालिका होगी

CREATE TABLE #foo (bar int...) 

INSERT #foo (bar, ...) 
EXEC myStoredProc @param1... 

-- more code using #foo 
+0

यह है एक tablevar का उपयोग कर हल करने के लिए संभव है? – Revious

+0

@ पूर्व: मुझे हां लगता है लेकिन यह संस्करण पर निर्भर करता है। पुराने संस्करण (एसक्यूएल 2000, शायद एसक्यूएल सर्वर 2005) इसे – gbn

+0

की अनुमति नहीं देते हैं क्या आप इसे लिखना चाहते हैं? – Revious

1

आप तालिका चर का उपयोग कर सकते हैं:

DECLARE @tbl TABLE(id int ,name varchar(500) ,...)  
    INSERT INTO @tbl   
    EXEC myprocedure @param .. 

with cte as (
    SELECT * FROM @tbl 
) 
select * from cte 
संबंधित मुद्दे