मैं SQL सर्वर प्रबंधन स्टूडियो में अपने कर्सर पर दिए गए बयान को कैसे चला सकता हूं?


93

ओरेकल उपयोगकर्ता के लिए एक लंबे समय के लिए टॉड के रूप में, मैंने Ctrl + Enter मारने की आदत डाल ली है और कर्सर के नीचे सिर्फ स्टेटमेंट निष्पादित किया जा रहा है।

SQL सर्वर प्रबंधन स्टूडियो में, F5 को चलाने से पूरी स्क्रिप्ट चलती है। सिर्फ वर्तमान स्टेटमेंट को चलाने के लिए, मुझे अपने इच्छित स्टेटमेंट को मैन्युअल रूप से हाइलाइट करना होगा, और फिर F5 को हिट करना होगा।

यह वास्तव में मेरे लिए कष्टप्रद है। क्या किसी को किसी कीबोर्ड शॉर्टकट वाले टूल का पता है जो SQL सर्वर पर केवल वर्तमान स्टेटमेंट को चलाने के लिए है? मैं सिर्फ इस एक फीचर के लिए टूल बदलूंगा।

नोट: विचित्र रूप से पर्याप्त है, यहां तक ​​कि SQL सर्वर के लिए नि: शुल्क टॉड आपको कर्सर के नीचे सिर्फ बयान को चलाने नहीं देता है।


2
अपने नोट पर ध्यान दें: TOAD में, F9 कुंजी वर्तमान स्टेटमेंट को चलाता है। समूह "गो" कीवर्ड ("ऑर्कान" द्वारा उत्तर दिया गया) का उपयोग करके अलग हो जाते हैं।
क्रुकसेक

F9, TOAD (v6.6 ++) के बाद के संस्करणों में सिर्फ वर्तमान कथन को चलाता है। कथन वैकल्पिक रूप से अर्धविराम द्वारा अलग किए जाते हैं। इसका 95% यह जानने में सक्षम है कि अर्धविराम नहीं होने पर भी कथन कहाँ समाप्त होता है।
क्रुकसेक

1
दस साल बाद भी यह एक मुद्दा है। बस SQL ​​डेवलपर से आ रहा है और मैं हैरान हूँ मैं वास्तव में अब भी इस के लिए एक कठिन काम करना चाहिए। हाल ही में कोई समाधान?
मैटसोम

1
@MattSom काश!
जोसेफटनसन

जवाबों:


37

आप 2012 प्लेस बयान आप निष्पादित और करना चाहते हैं के भीतर कर्सर इस ऐड-इन की जांच कर सकते SSMS के लिए प्रेस CTRL+ SHIFT+E

SSMS निष्पादनकर्ता - https://github.com/devvcat/ssms-executor/releases

अद्यतन:
प्रोजेक्ट को गितुब में ले जाया गया और एडिंस ने SSMS 2014, SSMS 2016 का समर्थन करने के लिए फिर से लिखा। (इससे पहले, प्रोजेक्ट कोडप्लेक्स पर, SSMS एक्सेक्यूटर - http://ssmsexecutor.codeplex.com/ पर रहता था )।


2
यह SSMS2012 में मेरे लिए वास्तव में अच्छी तरह से काम करता है, लेकिन अब मैं SSMS2014 चला रहा हूं और मैं वास्तव में इसे याद करता हूं ! किसी को भी SSMS2014 समाधान का पता है?
samp

3
हाय samp मैं SSMS2014 के लिए उपकरण को फिर से काम कर रहा हूँ। तैयार होने पर आपको बताएंगे।
स्टानिस्लाव स्टॉयनोव

1
@ st.stoqnov - मुझे इस ऐड का उपयोग करना अच्छा लगेगा लेकिन हम SSMS 2013 चला रहे हैं। आप इस संस्करण का समर्थन करने की योजना कब बना रहे हैं? धन्यवाद
namford

1
हाय @ न्नमफोर्ड परियोजना को जीआईएसबीटी में ले जाया गया और एडिंस ने एसएसएमएस 2014/2016 का समर्थन करने के लिए फिर से लिखा।
स्टैनिस्लाव स्टॉयनोव

1
@StanislavStoyanov इस सवाल का उल्लेख करने के लिए कृपया संपादित करें कि आप उस परियोजना के लेखक हैं जिसकी आप अनुशंसा कर रहे हैं।
jpaugh

34

लाइन का चयन करने के लिए Ctrl+ KUका उपयोग करें । फिर F5इसे चलाने के लिए उपयोग करें।

हालांकि यह केवल सिंगल लाइन चयन के लिए काम करता है, फिर भी मुझे यह काफी उपयोगी लगता है।

आशा करता हूँ की ये काम करेगा!!


1
अरे एक लाइनर के लिए यह आसान है। धन्यवाद
JosephStyons

या कि और CTRL E
ह्यूग सीग्रेव्स

CTRL-E ने SSMS 18.5
अलेक्जेंडर

20

ठीक है, इसलिए मुझे इन सभी उत्तरों से जो मिल रहा है वह है "नहीं, यह संभव नहीं है।"

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

यहाँ है कि मैं यह कैसे कर पा रहा था:

1 - SQL डेवलपर डाउनलोड करें

2 - JTDS ड्राइवर डाउनलोड करें

3 - SQL डेवलपर में उस ड्राइवर को जोड़ने के लिए इन निर्देशों का पालन ​​करें

4 - एसक्यूएल डेवलपर (कूल!) का उपयोग करके SQL सर्वर से कनेक्ट करें!

5 - इसे चलाएं और जीवन अच्छा हो


3
मुझे यकीन नहीं है कि इसे कैसे उत्तर माना जा सकता है क्योंकि ये सभी ओरेकल टूल पर आधारित हैं। यह प्रश्न SSMS
जैक्स

2
DBeaver भी इस क्वेरी के बीच अनुमति देता है; ; निष्पादन। और यह बहुत अधिक शक्ति है तो SQL डेवलपर
Dima Fomin

@ जैक्स एकल-लाइन निष्पादन एकल सुविधा है जो ओरेकल को सही मिली, और माइक्रोसॉफ्ट ने नहीं किया। SQL डेवलपर के बारे में बाकी सब कुछ उप बराबर है, लेकिन यह करता है एमएस एसक्यूएल सर्वर के साथ एकीकृत।
jpaugh

@Jacques के रूप में यह SSMS में काम करना आसान नहीं है, मुझे खुशी है कि यह उत्तर है और मेरे लिए यह सबसे अच्छा लग रहा है (आमतौर पर मेरे प्रश्न वन-लाइनर नहीं हैं, मैं जटिल प्रश्नों को लिखना पसंद नहीं करता हूं एक लाइन सिर्फ CTRL + KU को काम करने के लिए ...)
बेटलिस्टा

9

किसी ने Devart dbForge SQL कम्प्लीट (मैनेजमेंट स्टूडियो के लिए एडऑन) पर इस सुविधाओं का सुझाव दिया , और यह अभी भी विकास के चरण में है। चलो आशा करते हैं कि यह समाप्त हो गया है और विकास के माध्यम से आधे रास्ते को नहीं छोड़ा गया है।


2
मैंने अभी Sqlserver14 (?) के लिए नि: शुल्क संस्करण स्थापित किया है और यह काम करने लगता है। [ देवार्थ पृष्ठ] ( devart.com/dbforge/sql/sqlcomplete/editions.html )
लॉसमनोस १६'१६

मैंने अब तक इसका उपयोग किया था .... अब यह दिखा रहा है कि मैं हर बार दृश्य स्टूडियो लॉन्च कर रहा हूं।
पीएएस

6

नोट: विचित्र रूप से पर्याप्त है, यहां तक ​​कि SQL सर्वर के लिए नि: शुल्क टॉड आपको कर्सर के नीचे सिर्फ बयान को चलाने नहीं देता है।

यह वास्तव में कष्टप्रद है कि TOAD यह वादा नहीं करता है:

TOAD मदद से: [F9 निष्पादित करने के लिए] एक कथन का एक भाग, जिसमें एक या अधिक कथन हो सकते हैं। आप कथन के भीतर या कथन के अनुसार कर्सर रखकर या कथन का चयन कर सकते हैं। नोट: टॉड "आसन्न" को सभी कथनों (टिप्पणियों सहित) को कर्सर से अलग या एक दूसरे से दो कम से कम लाइनों द्वारा मानता है। यदि कथन निष्पादन के दौरान कोई त्रुटि होती है, तो एक त्रुटि संदेश प्रदर्शित होता है, जिससे आप या तो त्रुटि को अनदेखा कर सकते हैं और निष्पादन जारी रख सकते हैं या निष्पादित कर सकते हैं।

मैंने इसे लाख बार आजमाया लेकिन यह पूरी पटकथा पर अमल करता है। मैं इसे उपयोगकर्ता सहायता समूह (toadss (at) yahoogroups.com) में खोजना चाहता था, लेकिन याहू के पास अब तक की सबसे बड़ी खोज सुविधा है! यह toad मेल समूह, DOH में "toad" कीवर्ड भी नहीं खोज सकता है!

मुझे लगता है कि TOAD अब तक का सबसे अच्छा क्वेरी टूल है, लेकिन इस फीचर की कमी वास्तव में मुझे भी परेशान करती है।

अद्यतन: समाधान ध्वनि! मैंने इस मुद्दे को मेल ग्रुप के इनडास से पूछा और जवाब मिला। ओरेकल के विपरीत, आपको प्रत्येक विवरण के बाद कीवर्ड GO के साथ SQL सर्वर में स्टेटमेंट को अलग करना होगा । केवल अगर आप ऐसा करते हैं कि एफ 9 बटन वर्तमान कथन को निष्पादित करते हुए, अपेक्षा के अनुरूप काम करता है।


6

उपर्युक्त उत्तर ने मुझे क्वेरी का चयन किए बिना वर्तमान स्टेटमेंट निष्पादित करने का शॉर्टकट बनाने में मदद की

1 - टूल्स > विकल्प > पर्यावरण > कीबोर्ड पर क्लिक करें

2 - शो कमांड के लिए , इसे SqlComplete10.Common_ExecuteCurrentStatement पर सेट करें

3 - नए शॉर्टकट का उपयोग करने के लिए, इसे सेट करें SQL क्वेरी संपादक में

4 - प्रेस शॉर्टकट कुंजी (वांछित शॉर्टकट कुंजी) के लिए, Ctrl-Enter संयोजन करें।

5 - असाइन पर क्लिक करें । ओके पर क्लिक करें।


यह चाल है, लेकिन मुझे पहले एक और कमांड से शॉर्टकट को हटाना था, अन्यथा यह बस काम नहीं करेगा।
जन

आपने वह कैसे किया? जब मैं ctl के ऊपर दिए गए निर्देशों का पालन करता हूं तो बस लाइन को हाइलाइट करें (ध्यान दें कि मेरे प्रश्न कई लाइनों पर हैं)।
user441521

पुराना लगता है।
अली करका

@ मैट मुझे कुछ मिला जब मैंने "एक्सक्यूट" की खोज की, जिसका नाम है Tools.ExecuteStatement, जो केवल तभी काम करता है जब मैं इसका शॉर्टकट ग्लोबल में बदलता हूं।
jpaugh

@ मट नप! इस प्लगइन द्वारा जोड़ा गया था , जो आखिरकार काम करना शुरू कर दिया।
jpaugh

4

मैं वर्कअराउंड का उपयोग करता हूं: मैं उन प्रश्नों पर टिप्पणी करता हूं जिनका मैं उपयोग नहीं कर रहा हूं। आपने जिस SQL ​​को हाइलाइट किया है, उस पर टिप्पणी करने के लिए आप CTRL-K, CTRL-C का उपयोग कर सकते हैं। असहजता के लिए CTRL-K, CTRL-U का उपयोग करें। इस तरह, आप अन्य सभी प्रश्नों पर टिप्पणी कर सकते हैं, और F5 के साथ अपनी रुचि रखने वाले को निष्पादित कर सकते हैं।


7
यह बट में कुल दर्द है। एक एसक्यूएल एडिटर को मुझे वह सब क्यों करना चाहिए जो मुझे नहीं चाहिए? क्या मैं माउस को हथियाने या 35 बार "Shift + Up" को धक्का दिए बिना "इस एक कमांड को चलाने" को सकारात्मक रूप से नहीं बता सकता हूं?
जोसेफटाइन्स

3
बस स्पष्ट करने के लिए, उत्तर के लिए धन्यवाद; मैं इसकी सराहना करता हूं। मैं वास्तव में सिर्फ SQL सर्वर Mgmt स्टूडियो इंटरफ़ेस पर पकड़ रहा हूँ।
जोसेफ्सटन

1
यदि आप एक बेहतर तरीका
ढूंढते हैं, तो

4

मैंने इस काम का इस्तेमाल किया; जब कोड बाहर टिप्पणी नहीं की है

Ctrl + K + U

(यह कमांड वर्तमान क्वेरी लाइन को हाइलाइट करता है) और फिर

Ctrl + E

(यह रन हाइलाइटेड क्वेरी है)।

जब आप कुछ अन्य लाइनों के बीच एकल पंक्ति क्वेरी चलाना चाहते हैं तो यह उपयोगी है:

  Select top 100 * from [dbo].[Order]

  Select top 100 * from [dbo].[OrderItem]

  Select top 100 * from [dbo].[OrderStatus]

3

मुझे नहीं लगता कि यह सिर्फ प्रबंधन स्टूडियो का उपयोग करना संभव है। लेकिन आप कीबोर्ड शॉर्टकट सॉफ़्टवेयर (जैसे http://www.autohotkey.com/ ) का उपयोग कर एक विशेष अनुक्रम रिकॉर्ड कर सकते हैं और हॉटकी को असाइन कर सकते हैं। आपके मामले में आपको चाहिए:

<home><shift-end><F5>

यह वर्तमान लाइन का चयन करेगा और इसे निष्पादित करेगा।


8
हालांकि यह पूरे वर्तमान (बहुस्तरीय) ब्लॉक का चयन नहीं करेगा।
tbone

2

SQL सर्वर के लिए टॉड में निष्पादन के लिए निम्नलिखित डिफ़ॉल्ट हॉट-की का उपयोग किया जा सकता है:

  • F5: संपादक में सभी SQL कथनों को निष्पादित करें
  • F9: वर्तमान कर्सर स्थिति पर SQL कथन निष्पादित करें
  • Shift-F9: कर्सर से वर्तमान स्थिति सहित कर्सर से सभी SQL कथनों को निष्पादित करें

हालाँकि, जैसे se ercan ’ने लिखा है, आपको प्रत्येक कथन को 'GO' के साथ अलग करना / अनुसरण करना होगा।

SELECT TOP 5 * FROM accounts
GO

SELECT TOP 5 * FROM users
GO

SELECT TOP 5 * FROM contracts
GO

1

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


6
आपका मतलब है Shift, हाँ? और यह बड़े बयानों के लिए थकाऊ है। हालांकि विचार के लिए धन्यवाद।
जोसेफटाइन्स

1

हिट Ctrl- Eजबकि पाठ हाइलाइट किया गया है।


9
ठीक है, लेकिन मुझे अभी भी मैन्युअल रूप से हाइलाइट करना है कि मुझे क्या चाहिए। मेरा असली लक्ष्य एक बयान टाइप करने में सक्षम होना है और फिर कुछ कुंजी मारना है जो कर्सर के नीचे बस निष्पादित करेगा।
जोसेफटाइन्स

7
मेरे लिए, F5 हिट करना आसान है जबकि टेक्स्ट हाइलाइट किया गया है तो "CTRL-E"।
के.एम.

1

SQL कंप्लीट एक्सप्रेस संस्करण में इसे बनाया गया है। लेकिन आप इसे कस्टम इंटैलिजेंस के बिना नहीं पाते हैं।

(मुझे यह समन्दर के भंडार से मिला है)


3
हमें यह बताए बिना कि यह कैसे करना है, यह बहुत उपयोगी नहीं है
जी-।

1

यदि निष्पादक ऐड-ऑन समाधान (शीर्ष पोस्ट किए गए उत्तर में) ठीक से काम नहीं कर रहा है, तो मुझे यह मेरे लिए काम करने के लिए मिला है (SSMS v17.8.1): ऐड-ऑन टूल के तहत एक कमांड जोड़ता है: टूल्स> एक्सट्यूट इनर स्टेटमेंट

आप टूल> विकल्प> कीबोर्ड पर जाकर एक कस्टम कीबोर्ड शॉर्टकट कुंजी प्रदान कर सकते हैं, फिर 'शो कमांड्स जिसमें ":" निष्पादित करें "के लिए खोज करें और टूल्स . ExecuteInnerStatement का चयन करें । फिर बस 'प्रेस शॉर्टकट कीज़:' फ़ील्ड में अपना वांछित कीस्ट्रोक्स (एस) असाइन करें और असाइन बटन दबाएँ।


1

यह सुविधा SSMSBoost एड-इन SSMS के लिए मौजूद है (मैं इस ऐड-इन का डेवलपर हूं):

Shift-F5 वर्तमान कथन का चयन करेगा (जो आपको समीक्षा करने की अनुमति देता है कि आप वर्तमान में निष्पादित करने जा रहे हैं)। फिर आप F5 दबाएं और इसे निष्पादित करें।


0

आप हमेशा कमांड लाइन टूल्स sqlcmd और osql का उपयोग कर सकते हैं। मैंने यूनिक्स कमांड लाइन पर एक रैपर फ़ंक्शन का उपयोग करके बहुत सी सीबेस किया, जिसने मेरे कमांड स्ट्रिंग को समतुल्य में उत्तीर्ण किया (जो मुझे लगता है कि isql?) था। मैंने vi का उपयोग किया, इसलिए शायद मैं तब पागल था ;-)


वास्तव में यह मदद नहीं करेगा। SQLCMD बैच समाप्त होने तक SQL सर्वर को कमांड नहीं भेजेगा। (आम तौर पर GO के साथ संकेत दिया जाता है।)
शैनन सेवरेंस

0

बस उस कथन को चुनें (हाइलाइट करें) जिसे आप चलाना चाहते हैं और F5 को हिट करें।


2
प्रश्न से: केवल वर्तमान कथन को चलाने के लिए, मुझे अपने इच्छित कथन को मैन्युअल रूप से हाइलाइट करना होगा, और फिर F5 को हिट करना होगा।
पॉल मैक्कार्थी

1
थोड़े की तरह, बस अपनी कार से बाहर निकलें और सामने के टायरों को उस दिशा में मोड़ें जहां आप जाना चाहते हैं और एक्सीलेटर पर मारना चाहते हैं ....
pcnate

0

आप दो उपकरणों को निम्नानुसार जोड़ सकते हैं: dbForce और AuhotHotkey से SQL पूर्ण।

SQL कम्प्लीट के साथ: आप कर्सर पर वर्तमान स्टेटमेंट को निष्पादित कर सकते हैं, संयोजन Ctrl Shift E दबाकर

कारण जो मैंने AutoHotkey का उपयोग किया है वह जीवन को आसान बनाने के लिए है :-) वर्तमान कथन को निष्पादित करने के लिए F6 का उपयोग करके, AutoHotkey स्क्रिप्ट में निम्न कोड सेट करके:

;SQL EXECUTE THE CURRENT STATEMENT
F6::
Send ^+E
return

और voilà आप कर्सर पर किसी भी वर्तमान कथन को F6 दबाकर निष्पादित कर सकते हैं

लेकिन कभी-कभी, फिर से मेरी बड़ी समस्या यह है कि मैं गलत तरीके से F6: D के बजाय F5 दबाता हूं


0

SSMS के लिए Redgate का SQL प्रॉम्प्ट एक्सटेंशन ऐसा कर सकता है।

यह मुफ़्त नहीं है, लेकिन मेरे अनुभव में यह अच्छी तरह से लायक है। SSMS की तुलना में बेहतर इंटैलिसेंस बॉक्स वर्जन, टैब कलरिंग, टैब हिस्ट्री (इतना मूल्यवान!), स्निपेट्स, सिंगल स्टेटमेंट (सिर्फ एक लाइन नहीं) निष्पादन, और बहुत कुछ।


0

बस एक बड़ी स्क्रिप्ट के एक भाग को चलाने के लिए, यह प्रयास करें ..

कदम:

  1. SQL स्टेटमेंट को संक्षिप्त करें जिसे आप स्टेटमेंट के बगल में लेफ्ट मार्जिन में माइनस साइन पर क्लिक करके चलाना चाहते हैं। यह केवल पहली पंक्ति दिखाएगा (एक दीर्घवृत्त के साथ "..." अधिक संकेत नहीं दिखाया कोड) और अंत ";" बयान के लिए।

  2. रेखा को हाइलाइट करें।

  3. [F5] कुंजी दबाएं।

यह केवल हाइलाइट किए गए कथन को चलाएगा। यदि आप एक बार में एक से अधिक कथन चलाना चाहते हैं, तो प्रत्येक कथन को संक्षिप्त करें और उस सभी को हाइलाइट करें जिसे आप चलाना चाहते हैं, फिर [F5] पर क्लिक करें। यह एक काम के आसपास है, लेकिन हर बार कोड की कई लाइनों को खींचने और उजागर करने की तुलना में बहुत आसान है।


0

यह करने के लिए सबसे आसान तरीका है के लिए काम है CTRL+ Enterकार्रवाई के लिए संयोजन Query.Execute में SQL Server Management Studio

  1. Tools > Optionsमेनू खोलें ।
  2. Environment > Keyboardबाएं फलक में पृष्ठ का चयन करें ।
  3. Query.Executeकार्रवाई खोजें और इसे चुनें।
  4. ड्रॉपडाउन सूची SQL Query Editorमें सेट करें "Use new shortcut in:"
  5. अब टेक्स्टबॉक्स CTRL + Enterमें संयोजन टाइप करें press shortcut keys:
  6. Assignबटन पर क्लिक करें।
  7. बदलें Shortcut currently used by:करने के लिएQuery.Execute (Ctrl+Enter (SQL Query Editor))
  8. क्लिक करें OKDone

केवल मौजूदा लाइन निष्पादित करने के लिए Shift + Home के साथ लाइन के अंत तक सभी लाइन का चयन कर रहा है फिर Ctrl + Enter निष्पादित करें।
अब्दुल्ला इल्गाज़

0

SSMSBoost SSMSBoost / Settings / Macros में मैक्रो को परिभाषित करने का प्रयास करें:

अपने पैनल के लिए निशुल्क स्लॉट का चयन करें दाएं पैनल में कैप्शन भरें (यदि आप चाहते हैं) अनुक्रम में 2 कमांड जोड़ें: SSMSBoost.SelectCurrentStatement Query.Execute आपको पसंदीदा पसंदीदा शॉर्टकट असाइन करें और यह सब है।


-1

निम्नलिखित मेरे लिए काम करता है ... मैं एसएसएमएस 2012 का उपयोग करता हूं

1 - टूल्स> विकल्प> पर्यावरण कीबोर्ड पर क्लिक करें

2 - दिखाएँ आदेश युक्त के लिए , इसे Query.Execute पर सेट करें

3 - नए शॉर्टकट का उपयोग करने के लिए, इसे SQL क्वेरी संपादक में सेट करें

4 - प्रेस शॉर्टकट कुंजियों के लिए, Ctrl-Enter संयोजन करें।

5 - असाइन पर क्लिक करें। ओके पर क्लिक करें।


यह पूरी स्क्रिप्ट करता है - मैं सिर्फ कर्सर के तहत बयान चाहता हूं।
जोसेफ्सटन

सही है, माफ कीजिए, मैंने सवाल गलत समझा।
BGA
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.