2010-09-12 7 views
5

SQL सर्वर 2008 पर, मैं अपने डीबी के "संग्रहीत प्रक्रियाओं" फ़ोल्डर में अपनी संग्रहीत प्रक्रियाओं को कैसे रख सकता हूं?संग्रहीत प्रक्रिया को वांछित स्थान पर कैसे रखा जाए?

जब मैं इसे इस तरह की घोषणा:

MYSERVER\System Databases\MYDB\Programmability\Stored procedures folder. 

संपादित करें:

MYSERVER\System Databases\Master\Programmability\Stored procedures folder. 

कैसे सर्वर बताने के लिए, उस में स्टोर करने के लिए:

CREATE PROCEDURE mySchema.myProc 

यह करने के लिए चला जाता है

अगर मैं इसे इस तरह घोषित करता हूं:

CREATE PROCEDURE [myDB].mySchema.myProc 

यह शिकायत के बारे में:

'CREATE/ALTER PROCEDURE' does not allow specifying the database name as a prefix to the object name. 

अगर मैं 'का उपयोग' कीवर्ड का उपयोग करें, यह शिकायत:

a USE database statement is not allowed in a procedure, function or trigger. 

हो सकता है कि समस्या यह है कि मैं एमएस प्रबंधन स्टूडियो का उपयोग कर रहा है, और सीधे सर्वर से कनेक्ट, और किसी विशेष डीबी के लिए नहीं?

+0

मैं काफी यकीन नहीं है, लेकिन आप इस से पहले डेटाबेस का चयन नहीं कर सकते हैं? या कहें प्रक्रिया बनाएं [mydb] .mySchema.myProc – Rob

+0

नहीं। यह शिकायत करता है: 'बनाएं/बदलें प्रक्रिया' डेटाबेस नाम को ऑब्जेक्ट नाम के उपसर्ग के रूप में निर्दिष्ट करने की अनुमति नहीं देती है। – kofucii

+1

फिर निम्नलिखित उपयोग करें MyDb जाओ प्रक्रिया बनाएं mySchema.myProc – Rob

उत्तर

13

प्रयास करें निम्नलिखित

USE MyDb 
GO 
CREATE PROCEDURE mySchema.myProc 
6

ऐसा लगता है कि आप अपने डेटाबेस के बजाय मास्टर डेटाबेस में प्रक्रिया बना रहे हैं। संग्रहित प्रक्रिया की बनाई गई स्क्रिप्ट के ऊपर Use MYDB जोड़ें और यह आपके डेटाबेस में बनाया जाएगा।

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