2011-01-04 11 views
9

संभव डुप्लिकेट:
How to SELECT * INTO [temp table] FROM [stored procedure]एक तालिका का में संग्रहीत प्रक्रिया के सहेजें परिणाम

मैं एक नेस्टेड संग्रहीत प्रक्रिया कॉल

है संग्रहित प्रक्रियाओं में से एक में मैं चाहता हूँ परिणाम को एक तालिका वैरिएबल में सहेजें इस प्रकार:

INSERT INTO @myTable 
EXEC sp_myStoredProcedure 

हालांकि, क्योंकि प्रो। निम्न त्रुटि उत्पन्न होती है: एक INSERT EXEC कथन को नेस्टेड नहीं किया जा सकता

प्रक्रिया को किसी अन्य प्रक्रिया से बुलाया जाना चाहिए, यह बदलना एक विकल्प नहीं है। मैं आउटपुट पैरामीटर का उपयोग करने की कोशिश करना चाहता था लेकिन इसे अभी भी कथन में डालने के साथ सेट करना होगा।

एक संग्रहित प्रक्रिया के कॉल से एक चर में पुनर्प्राप्त डेटा को सहेजने के लिए अन्य विकल्प क्या हैं?

+0

क्या होगा यदि आप संग्रहीत प्रक्रिया opendatasource' का उपयोग कर 'कहते हैं? एसक्यूएल सर्वर के साथ एक और कनेक्शन खोलने के खर्च पर अक्सर इन प्रकार की सीमाओं में से कई के आसपास हो जाता है। –

+0

कृपया एक चीज करें, EXECUTE sp_executesql का उपयोग करके sp को कॉल करें और एक आउटपुट पैरामीटर सेट करें। लिंक देखें: https://support.microsoft.com/en-in/kb/262499 –

उत्तर

-2

जांची नहीं लेकिन शायद ऐसा करते हैं:

DECLARE @insertedProc as varchar(300) 
SET @insertedProc = 'INSERT INTO ' + @myTable + ' sp_myStoredProcedure' 

EXEC @insertedProc 

सुनिश्चित करें कि आप को परिभाषित किया है क्या @myTable पहले से है।

+4

यह काम नहीं करेगा, जनवरी ने कहा, "मैं परिणाम को एक ** तालिका चर ** में सहेजना चाहता हूं" "एक तालिका में निर्दिष्ट तालिका नहीं चर। – Tony

संबंधित मुद्दे