2009-08-13 55 views
51

Như một thời gian dài Toad cho người dùng Oracle, tôi đã quen với việc nhấn Ctrl + Enter và chỉ có câu lệnh bên dưới con trỏ được thực hiện.Làm cách nào tôi có thể chạy chỉ câu lệnh con trỏ của tôi nằm trong SQL Server Management Studio?

Trong SQL Server Management Studio, nhấn F5 chạy toàn bộ tập lệnh. Để chỉ chạy câu lệnh hiện tại, tôi phải đánh dấu một cách thủ công câu lệnh mà tôi muốn, và sau đó nhấn F5.

Điều đó thực sự gây phiền toái cho tôi. Có ai biết của một công cụ với một phím tắt để chạy chỉ là tuyên bố hiện tại trên một máy chủ SQL? Tôi sẽ thay đổi công cụ chỉ cho một tính năng này.

Lưu ý: Thật kỳ lạ, ngay cả số Toad for SQL Server miễn phí cũng không cho phép bạn chạy chỉ câu lệnh bên dưới con trỏ.

+2

Lưu ý trên ghi chú của bạn: Trong TOAD, phím F9 chạy nhóm tuyên bố hiện tại. Các nhóm được phân tách bằng cách sử dụng từ khóa "go" (cũng được trả lời bởi "ercan"). – crokusek

Trả lời

16

Ok, vì vậy những gì tôi nhận được từ tất cả các câu trả lời là "Không, điều đó là không thể."

Edit:

Sau đây là cách tôi đã có thể làm điều này:

1 - Tải SQL Developer

2 - Tải các jTDS driver

3 - Thực hiện theo these instructions thêm trình điều khiển đó cho SQL Developer

4 - Kết nối SQL Server sử dụng SQL Developer (cool!)

5 - Chạy nó và cuộc sống là tốt

+0

Tôi không chắc làm thế nào điều này có thể được coi là câu trả lời bởi vì đây là tất cả dựa trên các công cụ Oracle. Câu hỏi liên quan đến SSMS – Jacques

+0

[DBeaver] (https://dbeaver.jkiss.org/) cũng cho phép truy vấn này giữa; ; chấp hành. Và đó là nhiều quyền lực hơn sau đó SQL Developer –

1

Nhấn Ctrl - E trong khi văn bản được tô sáng.

+9

Ok, nhưng tôi vẫn phải tự làm nổi bật những gì tôi muốn. Mục tiêu thực sự của tôi là có thể gõ một câu lệnh và sau đó nhấn một số phím sẽ thực thi những gì nằm dưới con trỏ. – JosephStyons

+7

đối với tôi, F5 dễ nhấn hơn khi văn bản được đánh dấu rồi "CTRL-E". –

0

Nếu đó là việc phải di chuyển bàn tay của bạn đến phần chuột làm phiền bạn, bạn có thể giữ Ctrl xuống trong khi nhấn một phím mũi tên lên hoặc xuống để chọn một dòng cùng một lúc.

+6

Bạn có nghĩa là Shift, vâng? Và đó là tẻ nhạt đối với các tuyên bố lớn hơn. Cảm ơn ý tưởng này. – JosephStyons

4

Tôi sử dụng cách giải quyết: Tôi nhận xét các truy vấn tôi không sử dụng. Bạn có thể sử dụng CTRL-K, CTRL-C để nhận xét SQL bạn đã đánh dấu. Sử dụng CTRL-K, CTRL-U để bỏ ghi chú. Bằng cách đó, bạn có thể nhận xét tất cả các truy vấn khác và thực hiện truy vấn mà bạn quan tâm với F5.

+6

Đây là tổng số đau ở mông. Tại sao một trình soạn thảo SQL làm cho tôi bình luận ra mọi thứ tôi không muốn? Tôi có thể không chỉ tích cực nhà nước "chạy một lệnh này" mà không nắm lấy con chuột hoặc đẩy "Shift + Up" 35 lần? – JosephStyons

+3

Chỉ cần làm rõ, cảm ơn câu trả lời; Tôi đánh giá cao nó. Tôi thực sự chỉ nắm chặt giao diện SQL Server Mgmt Studio. – JosephStyons

+1

Nếu bạn tìm thấy một cách tốt hơn, hãy chắc chắn để đăng nó ở đây :) – Andomar

0

bạn luôn có thể sử dụng các công cụ dòng lệnh sqlcmd và osql. Tôi đã làm rất nhiều sybase tất cả ở dòng lệnh unix bằng cách sử dụng một hàm wrapper mà thông qua chuỗi lệnh của tôi vào tương đương (mà tôi nghĩ là isql?). Tôi sử dụng vi để, vì vậy có lẽ tôi đã điên sau đó ;-)

+0

Trên thực tế rằng sẽ không giúp đỡ. SQLCMD sẽ không gửi lệnh đến SQL Server cho đến khi lô được kết thúc. (Thông thường chỉ với GO.) –

3

Tôi không nghĩ rằng đây là có thể làm được chỉ bằng các studio quản lý. NHƯNG bạn có thể sử dụng phần mềm phím tắt (ví dụ: http://www.autohotkey.com/) để có một chuỗi đặc biệt được ghi lại và gán cho phím nóng. Trong trường hợp của bạn, bạn cần:

<home><shift-end><F5> 

Điều này sẽ chọn dòng hiện tại và thực thi nó.

+8

Điều này sẽ không chọn toàn bộ hiện tại (multiline) khối tuy nhiên. – tbone

5

Lưu ý: Rất kỳ quặc, ngay cả Toad miễn phí cho SQL Server không cho phép bạn chạy chỉ báo cáo bên dưới con trỏ.

Nó thực sự gây phiền nhiễu mà cóc không giữ để những gì nó hứa hẹn:

Từ cóc giúp đỡ: [F9 để thực hiện] một phần của một tuyên bố, có thể chứa một hoặc nhiều câu lệnh. Bạn có thể chọn phần của câu lệnh bằng cách đặt con trỏ vào trong hoặc kề với câu lệnh hoặc bằng cách chọn câu lệnh. Lưu ý: Con cóc xem xét "liền kề" tất cả các câu lệnh (bao gồm cả các nhận xét) được tách riêng khỏi con trỏ hoặc với nhau bằng ít hơn hai dòng trống. Nếu một lỗi xảy ra trong quá trình thực hiện câu lệnh, thông báo lỗi hiển thị, cho phép bạn bỏ qua lỗi và tiếp tục hoặc hủy bỏ việc thực thi.

Tôi đã thử nó hàng triệu lần nhưng nó chỉ thực thi toàn bộ tập lệnh. Tôi muốn tìm kiếm nó trong nhóm hỗ trợ người dùng (toadss (at) yahoogroups.com) nhưng yahoo có cơ sở tìm kiếm ngu ngốc nhất từ ​​trước tới nay! Nó thậm chí không thể tìm thấy từ khóa "cóc" trong nhóm thư cóc, DOH!

Tôi nghĩ TOAD là công cụ truy vấn tốt nhất từ ​​trước đến giờ, nhưng việc thiếu tính năng này cũng thực sự làm tôi khó chịu.

CẬP NHẬT: GIẢI PHÁP ÂM THANH! Tôi đã hỏi vấn đề này trong nhóm thư toadss và nhận được câu trả lời. Không giống như Oracle, bạn phải phân tách các câu lệnh trong SQL Server bằng từ khóa GO sau mỗi câu lệnh. Chỉ khi bạn thực hiện điều đó, nút F9 hoạt động như mong đợi, thực thi câu lệnh hiện tại.

+0

+1 cho bit cập nhật –

2

Trong Toad cho SQL Server mặc định sau phím nóng có thể được sử dụng để thực hiện:

  • F5: Thực hiện tất cả các câu lệnh SQL trong trình soạn thảo
  • F9: Thực hiện câu lệnh SQL tại vị trí con trỏ hiện tại
  • Shift-F9: Thực hiện tất cả các câu lệnh SQL từ con trỏ, bao gồm cả hiện tại tại vị trí con trỏ

Tuy nhiên, như 'ercan' đã viết, bạn cần phải tách riêng/theo từng câu lệnh bằng 'GO'.

SELECT TOP 5 * FROM accounts 
GO 

SELECT TOP 5 * FROM users 
GO 

SELECT TOP 5 * FROM contracts 
GO 
8

Somebody suggested this features trên Devart dbForge SQL Hoàn thành (addon cho Management Studio) và vẫn đang trong giai đoạn phát triển. Hãy hy vọng rằng nó đã hoàn thành và không bị bỏ rơi giữa chừng phát triển.

+3

Điều này đã được triển khai và hoạt động. –

+1

Tôi vừa cài đặt phiên bản miễn phí cho Sqlserver14 (?) Và có vẻ như nó hoạt động. [Devart page] (https://www.devart.com/dbforge/sql/sqlcomplete/editions.html) – LosManos

2

Phiên bản SQL Complete Express đã được tích hợp sẵn. Nhưng bạn không nhận được nó mà không có phần intellisense tùy chỉnh.

(Tôi nhận này từ bài Salamander2007 của)

23

Bạn có thể kiểm tra này add-in cho SSMS 2012. Đặt con trỏ trong báo cáo kết quả bạn muốn thực hiện và nhấn CTRL + SHIFT + E

SSMS Executor - http://ssmsexecutor.codeplex.com/

cập nhật:
Dự án chuyển sang github và addin được viết lại để hỗ trợ SSMS 2014, SSMS 2016.
SSMS Executor - https://github.com/devvcat/ssms-executor/releases

+1

Điều này làm việc thực sự tốt cho tôi trong SSMS2012, nhưng bây giờ tôi đang chạy SSMS2014 và tôi ** thực sự ** bỏ lỡ nó! Bất cứ ai biết về một giải pháp SSMS2014? – samp

+3

Hi ** samp ** Tôi đang sửa lại công cụ cho SSMS2014. Sẽ cho bạn biết khi sẵn sàng. –

+0

Mong nó! – samp

1

Chỉ cần chọn (đánh dấu) câu lệnh duy nhất bạn muốn chạy và nhấn F5.

+2

Từ Câu hỏi: Để chỉ chạy câu lệnh hiện tại, tôi phải đánh dấu thủ công câu lệnh mà tôi muốn, rồi nhấn F5. –

0

Bạn có thể kết hợp hai Công cụ như sau: SQL Hoàn thành từ dbForce và AuhotHotkey.

Với SQL Complete: bạn có thể thực hiện báo cáo kết quả hiện tại con trỏ, bằng cách nhấn tổ hợp Ctrl phím Shift E

Lý do mà tôi đã sử dụng AutoHotkey là để làm cho cuộc sống dễ dàng hơn :-) bằng cách sử dụng chỉ F6 để thực hiện báo cáo kết quả hiện tại, bằng cách thiết lập đoạn mã sau vào AutoHotkey kịch bản:

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

và thì đấy bạn có thể thực hiện bất kỳ tuyên bố hiện tại con trỏ bằng cách chỉ cần nhấn F6

Nhưng đôi khi, một lần nữa vấn đề lớn của tôi là tôi mistakely nhấn F5 thay vì F6: D

-1

Các công trình đối với tôi sau ... Tôi sử dụng SSMS 2012

1 - Click vào Tools> Options> Môi trường Keyboard

2 - Đối với Hiện lệnh chứa, đặt nó vào Query.Execute

3 - Đối với Sử dụng phím tắt mới trong, đặt nó vào SQL Query biên tập

4 - Để Bấm phím tắt, hãy thực hiện kết hợp Ctrl-Enter.

5 - Nhấp vào Chỉ định. Nhấp vào OK.

+0

Điều đó làm toàn bộ tập lệnh - tôi chỉ muốn câu lệnh bên dưới con trỏ. – JosephStyons

+0

Ngay trên, xin lỗi tôi hiểu lầm câu hỏi. – BGA

3

Trên câu trả lời giúp tôi để tạo ra một phím tắt để thực hiện tuyên bố hiện tại mà không chọn các truy vấn

1 - Click vào cụ>Tùy chọn>Môi trường>Keyboard

2 - Đối với Hiển thị các lệnh chứa, đặt thành SqlComplete10.Common_ExecuteCurrentStatement

3 - Đối với Sử dụng phím tắt mới trong, đặt nó vào SQL Query biên tập

4 - Đối Nhấn phím tắt (mong muốn phím tắt), thực hiện các tổ hợp phím Ctrl-Enter kết hợp.

5 - Nhấp vào Gán. Nhấp vào OK.

+0

Điều này làm các trick, nhưng tôi đã phải loại bỏ các phím tắt từ một lệnh đầu tiên, nếu không nó sẽ chỉ đơn giản là không làm việc. – Jan

+0

Bạn đã làm điều đó như thế nào? Khi tôi làm theo các hướng dẫn trên ctl-enter chỉ cần làm nổi bật dòng (lưu ý truy vấn của tôi là trên nhiều dòng). – user441521

+5

Không có lệnh lệnh hiện tại nào trong SS2016MS http://imgur.com/a/5V2X6 – Matt

8

Sử dụng Ctrl + KU để chọn một dòng. Sau đó, sử dụng F5 để chạy.

Mặc dù nó chỉ hoạt động đối với lựa chọn một dòng, nhưng tôi vẫn thấy nó khá hữu ích.

Hy vọng điều đó sẽ hữu ích !!

+0

Xin chào, đó là tiện dụng, cho một lớp lót. Cảm ơn – JosephStyons

Các vấn đề liên quan