SSMS
 sql >> डेटाबेस >  >> Database Tools >> SSMS

SP_executesql का उपयोग करके SSMS 2012 को SPs की स्क्रिप्टिंग से कैसे रोकें?

आप डायनामिक एसक्यूएल के बिना ऐसा नहीं कर सकते क्योंकि एक संग्रहित प्रक्रिया को अपने बैच में होना चाहिए। इसलिए आप यह नहीं कह सकते:

IF <some condition>
  <start a new batch>

इसे उसी बैच में रखने का एकमात्र तरीका sp_executesql . का उपयोग करना है ।

यदि आप DROP script को स्क्रिप्ट करने जा रहे हैं और CREATE एक साथ, वस्तु अस्तित्व की जांच के बिना इसे करें। यह आपको देगा:

DROP PROCEDURE ...;
GO
CREATE PROCEDURE ...;
GO

कौन परवाह करता है अगर DROP विफल? (ऐसा नहीं होना चाहिए, क्योंकि आपने अभी-अभी इसकी पटकथा लिखी है!)

अगर आप इसे किसी अन्य सिस्टम के लिए स्क्रिप्ट कर रहे हैं जो हो सकता है ऑब्जेक्ट है, आपको DROP . के लिए एक त्रुटि संदेश मिलेगा जब ऐसा नहीं होता है, लेकिन CREATE अभी भी होगा, इसलिए आप DROP को नज़रअंदाज़ कर सकते हैं त्रुटियाँ। यदि आप वास्तव में चाहते हैं तो आप DROP . को मैन्युअल रूप से लपेट सकते हैं TRY/CATCH में स्टेटमेंट लेकिन मुझे नहीं लगता कि यह आवश्यक है।

यदि आपको बहुत सारी प्रक्रियाओं के लिए ऐसा करने की आवश्यकता है, या यदि आपको वास्तव में सौम्य त्रुटियों को उत्पन्न करने की प्रक्रिया की आवश्यकता नहीं है, तो मेरा सुझाव है कि आप प्रबंधन स्टूडियो के आदिम स्क्रिप्टिंग विकल्पों को छोड़ दें और इसके लिए किसी तृतीय पक्ष टूल का उपयोग करें। वे पहले से ही ऐसे कई मुद्दों से निपट चुके होंगे जिन्हें आपने अभी तक नहीं देखा है, लेकिन करेंगे। मैंने इस बारे में ब्लॉग किया:

http:// bertandaaron.wordpress.com/2012/04/20/re-blog-the-cost-of-reinventing-the-wheel/



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. या तो उपयोगकर्ता, 'IIS APPPOOL\App Name' के पास 'SSAS Cube Name' डेटाबेस तक पहुंच नहीं है, या डेटाबेस मौजूद नहीं है

  2. SSMS एक तालिका में डुप्लिकेट रिकॉर्ड की अनुमति देता है, लेकिन बाद के अपडेट नहीं

  3. एक दृश्य के रूप में संग्रहीत होने पर अन्य नामों को कॉलम नामों के समान ही क्यों छोड़ दिया जाता है?

  4. SQL सर्वर प्रबंधन स्टूडियो स्कीमा देखें

  5. SQL सर्वर प्रबंधन स्टूडियो .bak फ़ाइल को नहीं पहचान सकता