İmlecimin üzerinde olduğu ifadeyi SQL Server Management Studio'da nasıl çalıştırabilirim?


98

Oracle için uzun süredir Toad kullanıcısı olarak, Ctrl + Enter tuşlarına basmaya ve sadece imlecin altındaki ifadenin yürütülmesine alıştım.

SQL Server Management Studio'da F5'e basmak tüm komut dosyasını çalıştırır. Yalnızca geçerli ifadeyi çalıştırmak için, istediğim ifadeyi manuel olarak vurgulamalı ve ardından F5'e basmalıyım.

Bu benim için gerçekten can sıkıcı. Bir SQL Sunucusunda yalnızca geçerli ifadeyi çalıştırmak için klavye kısayoluna sahip bir araç bilen var mı? Sadece bu özellik için araçları değiştirirdim.

Not: İşin garibi, SQL Server için ücretsiz Toad bile sadece imlecin altındaki ifadeyi çalıştırmanıza izin vermiyor.


2
Notunuzla ilgili not: TOAD'da, F9 tuşu geçerli deyim (ler) grubunu çalıştırır. Gruplar, "git" anahtar sözcüğü (ayrıca "ercan" ile yanıtlanır) kullanılarak ayrılır.
crokusek

F9 yalnızca TOAD'ın sonraki sürümlerinde (v6.6 ++) geçerli ifadeyi çalıştırır. İfadeler isteğe bağlı olarak noktalı virgülle ayrılabilir. Noktalı virgül olmadığında bile ifadenin nerede bittiğini bilme konusunda% 95 güvenilir.
crokusek

1
On yıl sonra bu hala bir sorundur. SQL Developer'dan yeni geliyorum ve şok oldum, şimdi bile bunun için gerçekten sıkıcı bir çözüm yapmalıyım. Belki yeni bir çözüm var mı?
MattSom

1
@MattSom keşke!
JosephStyons

Yanıtlar:


37

Bu SSMS 2012 eklentisine göz atabilirsiniz. İmleci yürütmek istediğiniz ifadenin içine yerleştirin ve CTRL+ SHIFT+ tuşlarına basın.E

SSMS Yürütücü - https://github.com/devvcat/ssms-executor/releases

Güncelleme:
Proje github'a taşındı ve eklenti SSMS 2014, SSMS 2016'yı desteklemek için yeniden yazıldı. (Daha önce proje, SSMS Executor'da codeplex üzerinde yaşıyordu - http://ssmsexecutor.codeplex.com/ .)


2
Bu benim için SSMS2012'de gerçekten iyi çalıştı, ancak şimdi SSMS2014'ü çalıştırıyorum ve gerçekten özlüyorum! SSMS2014 çözümü bilen var mı?
örnekleme

3
Merhaba Samp Ben SSMS2014 aracı elden geçirilmesi ediyorum. Hazır olduğunda sana haber verecek.
Stanislav Stoyanov

1
@ st.stoqnov - Bu eklentiyi kullanmayı çok isterdim ama SSMS 2013'ü çalıştırıyoruz. Bu sürümü ne zaman desteklemeyi planlıyorsunuz? Teşekkürler
namford

1
Merhaba @namford proje github'a taşındı ve eklenti, SSMS 2014/2016'yı desteklemek için yeniden yazıldı.
Stanislav Stoyanov

1
@StanislavStoyanov Lütfen önerdiğiniz projenin yazarı olduğunuzu belirtmek için soruyu düzenleyin.
jpaugh

35

Bir hat seçmek için Ctrl+ kullanın KU. Ardından F5çalıştırmak için kullanın .

Sadece tek satırlık seçim için çalışmasına rağmen yine de oldukça faydalı buluyorum.

Umarım yardımcı olur!!


2
Hey bu kullanışlı, bir gömlek için. Teşekkürler
JosephStyons

Veya bu ve CTRL E
Hugh Seagraves

CTRL-E, SSMS 18.5'teki dosyadaki tüm komut dosyasını çalıştırdı
Alexander,

21

Tamam, tüm bu cevaplardan elde ettiğim şey "Hayır, bu mümkün değil."

Düzenle:

Bunu şu şekilde yapabildim:

1 - SQL Developer'ı İndirin

2 - jTDS sürücüsünü indirin

3 - Bu sürücüyü SQL Developer'a eklemek için bu talimatları izleyin

4 - SQL Developer kullanarak SQL Server'a bağlanın (harika!)

5 - Çalıştır ve hayat güzel


3
Bunun nasıl bir cevap olarak değerlendirilebileceğinden emin değilim çünkü bunların hepsi Oracle araçlarına dayanıyor. Soru SSMS ile ilgiliydi
Jacques

2
DBeaver ayrıca bu sorguya; ; yürütme. Ve SQL Developer'dan çok daha fazla güç
Dima Fomin

@ Jacques Tek satır yürütme, Oracle'ın hak ettiği tek özelliktir ve Microsoft bunu yapmamıştır. SQL Developer hakkında Her şey alt-par, ama yok MS SQL sunucuları ile entegre olur.
jpaugh

@ Jacques, çünkü SSMS'de çalışmak kolay değil, bu cevabın olduğu için mutluyum ve benim için bu en iyisi gibi görünüyor (tipik olarak sorgularım tek satırlık değil, karmaşık sorgular yazmayı tercih etmiyorum sadece CTRL +
KU'nun

MSSQL-Server Sorgularını çalıştırmak için SQL Developer'ı gerçekten kullanabilirsiniz. Bu kadar kötü bir kullanıcı deneyimi için bunun iyi bir fikir olduğunu sanmıyorum, ne kadar yazık Microsoft.
Gerfried

9

Birisi bu özellikleri Devart dbForge SQL Complete (Management Studio eklentisi) üzerinde önerdi ve hala geliştirme aşamasında. Umalım da bitmiş olsun ve geliştirme sürecinin ortasında terk edilmesin.


2
Sqlserver14 (?) İçin ücretsiz sürümü yeni yükledim ve çalışıyor gibi görünüyor. [ Devart sayfası] ( devart.com/dbforge/sql/sqlcomplete/editions.html )
LosManos

Şimdiye kadar kullandım .... şimdi görsel stüdyoyu her başlattığımda ekle gösteriliyor.
PAS

6

Not: İşin garibi, SQL Server için ücretsiz Toad bile sadece imlecin altındaki ifadeyi çalıştırmanıza izin vermiyor.

TOAD'ın verdiği sözü tutmaması gerçekten can sıkıcı:

TOAD yardımından: Bir veya daha fazla ifade içerebilen bir ifadenin bir bölümünü [F9 yürütmek için]. İmleci ifadenin içine veya yanına yerleştirerek ya da ifadeyi seçerek ifadenin bölümünü seçebilirsiniz. Not: Toad, imleçten veya birbirinden ikiden az boş satırla ayrılmış tüm ifadeleri (yorumlar dahil) "bitişik" olarak kabul eder. İfadenin yürütülmesi sırasında bir hata oluşursa, bir hata mesajı görüntülenir ve bu, hatayı yok saymanıza ve devam ettirmenize veya yürütmeyi iptal etmenize olanak tanır.

Milyonlarca kez denedim ama tüm senaryoyu çalıştırıyor. Bunu kullanıcı destek grubunda aramak istedim (toadss (at) yahoogroups.com) ama yahoo şimdiye kadarki en aptal arama özelliğine sahip! Kurbağa posta grubunda "kurbağa" anahtar kelimesini bile bulamıyor, DOH!

Bence TOAD şimdiye kadarki en iyi sorgulama aracı, ancak bu özelliğin olmaması beni de gerçekten rahatsız ediyor.

GÜNCELLEME: ÇÖZÜM BULUNDU! Bu sorunu kurbağaların mail grubunda sordum ve cevabı aldım. Oracle'dan farklı olarak, SQL Server'daki ifadeleri her ifadeden sonra GO anahtar sözcüğü ile ayırmanız gerekir . Yalnızca bunu yaparsanız, F9 düğmesi beklendiği gibi çalışır ve geçerli deyimi yürütür.


6

Yukarıdaki cevap, sorguyu seçmeden mevcut İfadeyi Çalıştırmak için bir kısayol oluşturmama yardımcı oldu

1 - Araçlar > Seçenekler > Ortam > Klavye'ye tıklayın

2 - Şunu içeren komutları göster için SqlComplete10.Common_ExecuteCurrentStatement olarak ayarlayın

3 - Yeni kısayolu kullan için SQL Sorgu Düzenleyicisi olarak ayarlayın

4 - Kısayol tuşlarına basın (istenen kısayol tuşu) için Ctrl-Enter kombinasyonunu gerçekleştirin.

5 - Ata'ya tıklayın . Tamam'a tıklayın.


Bu hile yapar, ancak önce kısayolu başka bir komuttan kaldırmak zorunda kaldım, aksi takdirde işe yaramazdı.
19

Bunu nasıl yaptın? Yukarıdaki talimatları izlediğimde ctl-enter sadece satırı vurgular (sorgularımın birden çok satırda olduğuna dikkat edin).
user441521

Modası geçmiş görünüyor.
Ali Karaca

@Matt "Execute" kelimesini aradığımda bir şey buldum, yani Tools.ExecuteStatementkısayolunu Global olarak değiştirdiğimde işe yarıyor.
jpaugh

@Matt Hayır! Tarafından eklendiğini, çıkıyor bu eklenti , nihayet çalışmaya başladı.
jpaugh

5

Bir geçici çözüm kullanıyorum: Kullanmadığım sorgulara yorum yaparım. Vurguladığınız SQL'i yorumlamak için CTRL-K, CTRL-C kullanabilirsiniz. Açıklamayı kaldırmak için CTRL-K, CTRL-U kullanın. Bu şekilde, diğer tüm sorguları yorumlayabilir ve ilgilendiğiniz soruyu F5 ile çalıştırabilirsiniz.


8
Bu tam bir popo ağrısı. Neden bir SQL Düzenleyicisi istemediğim her şeyi yorumlamamı sağlamalı? Fareyi tutmadan veya "Shift + Yukarı" tuşuna 35 kez basmadan "bu tek komutu çalıştır" ifadesini olumlu olarak ifade edemez miyim?
JosephStyons

5
Sadece açıklığa kavuşturmak için, cevap için teşekkürler; Bunu takdir ediyorum. Gerçekten sadece SQL Server Mgmt Studio arayüzünü tutuyorum.
JosephStyons

2
Daha iyi bir yol bulursanız, buraya gönderdiğinizden emin olun :)
Andomar

5

Bu işi etrafta kullandım; kod yorumlanmadığında

Ctrl + K + U

(bu komut mevcut sorgu satırını vurgular) ve ardından

Ctrl + E

(bu çalıştırma vurgulanan sorgu).

Aşağıdaki gibi diğer bazı satırlar arasında tek satırlık bir sorgu çalıştırmak istediğinizde kullanışlıdır:

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

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

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

3

Bunun sadece yönetim stüdyosunu kullanarak yapılabileceğini sanmıyorum. ANCAK özel bir sıranın kaydedilmesi ve bir kısayol tuşuna atanması için klavye kısayol yazılımını (örn. Http://www.autohotkey.com/ ) kullanabilirsiniz. Senin durumunda ihtiyacın olan:

<home><shift-end><F5>

Bu, mevcut satırı seçecek ve çalıştıracaktır.


8
Ancak bu, tüm geçerli (çok satırlı) bloğu seçmez.
tbone

2

Toad for SQL Server'da, yürütme için aşağıdaki varsayılan kısayol tuşları kullanılabilir:

  • F5: Tüm SQL ifadelerini düzenleyicide çalıştır
  • F9: Mevcut imleç konumunda SQL deyimini çalıştır
  • Shift-F9: İmleç konumundaki geçerli olanlar da dahil olmak üzere tüm SQL ifadelerini imleçten yürütür

Ancak ercan'ın yazdığı gibi her ifadeyi 'GO' ile ayırmanız / takip etmeniz gerekiyor.

SELECT TOP 5 * FROM accounts
GO

SELECT TOP 5 * FROM users
GO

SELECT TOP 5 * FROM contracts
GO

1

Elinizi sizi rahatsız eden fare kısmına hareket ettirmek zorundaysa, bir kerede bir satır seçmek için yukarı veya aşağı ok tuşuna basarken Ctrl tuşunu basılı tutabilirsiniz.


6
Yani Shift, değil mi? Ve bu daha büyük ifadeler için sıkıcıdır. Yine de fikir için teşekkürler.
JosephStyons

1

Hit Ctrl- Emetin vurgulanırken.


9
Tamam, ama yine de ne istediğimi manuel olarak vurgulamam gerekiyor. Benim asıl amacım bir ifade yazabilmek ve ardından sadece imlecin altında olanı çalıştıracak bir tuşa basabilmek.
JosephStyons

7
benim için metin vurgulanırken F5'e basmak daha kolay, sonra "CTRL-E".
KM.

1

SQL Complete Express sürümünde bu yerleşiktir. Ancak özel intellisense olmadan bunu elde edemezsiniz.

(Bunu Salamander2007'nin gönderisinden aldım)


3
Bize nasıl yapacağımızı söylemeden, bu pek kullanışlı değil
G-.

1

Yürütücü eklenti çözümü (en üstte yayınlanan cevapta) düzgün çalışmıyorsa, benim için çalışmasını sağladım (SSMS v17.8.1): Eklenti araçlar altında bir komut ekler: Araçlar> İç İfadeyi Yürüt .

Araçlar> Seçenekler> Klavye'ye gidip " Şunu içeren komutları göster:" bölümünde "yürüt" araması yaparak ve Araçlar.ExecuteInnerStatement öğesini seçerek buna özel bir klavye kısayol tuşu atayabilirsiniz . Ardından, 'Kısayol tuşlarına basın:' alanına istediğiniz tuş vuruşlarını atayın ve Ata düğmesine basın.


1

Bu özellik SSMS için SSMSBoost eklentisinde mevcuttur (bu eklentinin geliştiricisiyim):

Shift-F5 , geçerli ifadeyi seçer (bu, şu anda ne yürüteceğinizi gözden geçirmenize izin verir). Sonra F5'e basıp çalıştırırsınız.


1

SSMSBoost SSMSBoost / Ayarlar / Makrolar'da makroyu tanımlamayı deneyin:

Sağ panel dolgu başlığında makronuz için boş alan seçin (isterseniz) sıraya 2 komut ekleyin: SSMSBoost.SelectCurrentStatement Query.Execute size favori kısayolunuzu atayın ve hepsi bu.


0

her zaman sqlcmd ve osql komut satırı araçlarını kullanabilirsiniz. Komut dizimi eşdeğerine geçiren bir sarmalayıcı işlevi kullanarak unix komut satırında çok sayıda sybase yaptım (isql olduğunu düşünüyorum?). Vi'yi kullanırdım, bu yüzden belki o zamanlar deliydim ;-)


Aslında bu yardımcı olmayacak. Toplu işlem bitene kadar SQLCMD komutu SQL Server'a göndermeyecektir. (Normalde GO ile belirtilir.)
Shannon Kıdemliliği

0

Çalıştırmak istediğiniz tek ifadeyi seçin (vurgulayın) ve F5'e basın.


2
Sorudan: Yalnızca geçerli ifadeyi çalıştırmak için, istediğim ifadeyi manuel olarak vurgulamalı ve ardından F5'e basmalıyım.
Paul McCarthy

1
bir nevi, arabanızdan
inin

0

İki Aracı şu şekilde birleştirebilirsiniz: dbForce ve AuhotHotkey'den SQL Complete.

SQL Complete ile: Ctrl Shift E kombinasyonuna basarak mevcut ifadeyi imleçte çalıştırabilirsiniz.

AutoHotkey'i kullanmamın nedeni, AutoHotkey komut dosyasında aşağıdaki kodu ayarlayarak, geçerli ifadeyi yürütmek için yalnızca F6 kullanarak hayatı kolaylaştırmaktır :-):

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

Ve voilà, imleçteki herhangi bir geçerli ifadeyi sadece F6'ya basarak çalıştırabilirsiniz

Ama bazen, yine büyük sorunum, yanlışlıkla F6: D yerine F5'e basmam.


0

Redgate'in SSMS için SQL İstemi uzantısı bunu yapabilir.

Ücretsiz değil ama tecrübelerime göre sahip olmaya değer. Kullanıma hazır SSMS sürümünden, sekme renklendirmesinden, sekme geçmişinden (çok değerli!), Parçacıklardan, tek ifadeden (sadece tek satır değil) yürütmeden ve çok daha fazlasından daha iyi zeka.


0

Daha büyük bir komut dosyasının yalnızca bir bölümünü çalıştırmak için şunu deneyin ..

Adımlar:

  1. İfadenin yanındaki sol kenar boşluğundaki eksi işaretine tıklayarak çalıştırmak istediğiniz SQL ifadesini daraltın. Bu yalnızca ilk satırı (gösterilmeyen daha fazla kodu belirtmek için üç nokta "..." ile) ve son ";" ifade için.

  2. Çizgiyi vurgulayın.

  3. [F5] tuşuna basın.

Bu sadece vurgulanan ifadeyi çalıştıracaktır. Aynı anda birden fazla ifadeyi çalıştırmak istiyorsanız, her bir ifadeyi daraltın ve çalıştırmak istediğiniz her şeyi vurgulayın, ardından [F5] 'e tıklayın. Bu bir çözüm, ancak yine de her seferinde çok sayıda kod satırını sürükleyip vurgulamaktan çok daha kolay.


0

Bunu yapmanın en kolay yolu için atama olduğunu CTRL+ Entereylem için kombine Query.Execute içinde SQL Server Management Studio.

  1. Menüyü açın Tools > Options.
  2. Environment > KeyboardSol bölmedeki sayfayı seçin .
  3. Query.ExecuteEylem bulun ve seçin.
  4. Set SQL Query Editoriçinde "Use new shortcut in:"açılır listeden.
  5. Şimdi metin kutusuna CTRL + Enterkombinasyon yazın press shortcut keys:.
  6. Düğmesini Assigntıklayın.
  7. Değişim Shortcut currently used by:içinQuery.Execute (Ctrl+Enter (SQL Query Editor))
  8. Tıklayın OK. Done.

Sadece mevcut satırı çalıştırmak için Shift + Home ile satırın sonundaki tüm satırı seçip ardından Ctrl + Enter tuşlarını kullanın.
Abdullah Ilgaz

0

Kullanım Shift+ (aşağı ok) daha tasarrufu düğmesini, tek satırı seçmek için Ctrl+ KU : D lol.

Ardından F5çalıştırmak için kullanın .

Umarım yardımcı olur ..


-1

Aşağıdakiler benim için çalışıyor ... SSMS 2012 kullanıyorum

1 - Araçlar> Seçenekler> Ortam Klavyesi'ne tıklayın

2 - İçerdiği komutları göster için Sorgu olarak ayarlayın.

3 - Yeni kısayolu kullan için SQL Sorgu Düzenleyicisi olarak ayarlayın

4 - Kısayol tuşlarına basın için Ctrl-Enter kombinasyonunu gerçekleştirin.

5 - Ata'ya tıklayın. Tamam'a tıklayın.


Bütün komut dosyası budur - sadece imlecin altındaki ifadeyi istiyorum.
JosephStyons

Doğru, özür dilerim soruyu yanlış anladım.
BGA
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.