SQL Server Management Studio에서 커서가있는 문만 실행하려면 어떻게해야합니까?


96

오랫동안 Toad for Oracle 사용자로서 Ctrl + Enter를 누르고 커서 아래의 명령문 만 실행하는 데 익숙해졌습니다.

SQL Server Management Studio에서 F5 키를 누르면 전체 스크립트가 실행됩니다. 현재 문만 실행하려면 원하는 문을 수동으로 강조 표시 한 다음 F5 키를 눌러야합니다.

정말 짜증나 네요. SQL Server에서 현재 명령문 만 실행할 수있는 바로 가기 키가있는 도구를 아는 사람이 있습니까? 이 기능을 위해 도구를 변경하겠습니다.

참고 : 이상하게도 무료 Toad for SQL Server 에서도 커서 아래의 명령문 만 실행할 수 없습니다.


2
참고 사항 : TOAD에서 F9 키는 현재 문 그룹을 실행합니다. 그룹은 "go"키워드 ( "ercan"로도 응답)를 사용하여 구분됩니다.
crokusek

F9는 이후 버전의 TOAD (v6.6 ++)에서 현재 문만 실행합니다. 문은 선택적으로 세미콜론으로 구분됩니다. 세미콜론이 없어도 문이 어디에서 끝나는 지 알 수 있다는 점에서 95 % 신뢰할 수 있습니다.
crokusek

1
10 년 후에도 이것은 여전히 ​​문제입니다. SQL Developer에서 왔고 지금도 지루한 해결 방법을 만들어야한다는 사실에 놀랐습니다. 아마도 최근 해결책이 있습니까?
MattSom

1
@MattSom 소원!
JosephStyons 19

답변:


37

SSMS 2012 용 추가 기능을 확인할 수 있습니다. 실행하려는 문 안에 커서를 놓고 CTRL+ SHIFT+를 누릅니다.E

SSMS 실행기-https://github.com/devvcat/ssms-executor/releases

업데이트 :
프로젝트가 github로 이동하고 추가 기능이 SSMS 2014, SSMS 2016을 지원하도록 다시 작성되었습니다. (이전 프로젝트는 SSMS Executor-http: //ssmsexecutor.codeplex.com/에서 codeplex에서 살았습니다 .)


2
이것은 SSMS2012에서 정말 잘 작동했지만 지금은 SSMS2014를 실행하고 있는데 정말 그리워요! SSMS2014 솔루션을 아는 사람이 있습니까?
samp

3
안녕하세요 SAMP 내가 SSMS2014을위한 도구를 재 작업하고 있습니다. 준비되면 알려드립니다.
Stanislav Stoyanov

1
@ st.stoqnov-이 추가 기능을 사용하고 싶지만 SSMS 2013을 실행하고 있습니다. 언제이 버전을 지원할 계획입니까? 감사합니다
namford

1
안녕하세요 @namford에서 프로젝트는 github로 이동되었고 추가 기능은 SSMS 2014/2016을 지원하도록 다시 작성되었습니다.
Stanislav Stoyanov

1
@StanislavStoyanov 귀하가 추천하는 프로젝트의 저자임을 언급하도록 질문을 편집하십시오.
jpaugh

35

Ctrl+ KU를 사용 하여 라인을 선택합니다. 그런 다음F5 하여 실행하십시오.

한 줄 선택에서만 작동하지만 여전히 매우 유용합니다.

도움이 되었기를 바랍니다 !!


2
하나의 라이너에 편리합니다. 감사합니다
JosephStyons

또는 CTRL E
Hugh Seagraves 18.

CTRL-E는 SSMS 18.5
Alexander

20

좋아, 그래서 내가이 모든 대답에서 얻은 것은 "아니오, 불가능합니다."

편집하다:

이렇게 할 수 있었던 방법은 다음과 같습니다.

1-다운로드 SQL Developer

2-다운로드 jTDS 드라이버

3- 이 지침을 따르십시오. 에 해당 드라이버를 SQL Developer에 추가합니다.

4-SQL Developer를 사용하여 SQL Server에 연결 (멋지다!)

5-실행하면 인생이 좋다


3
모두 Oracle 도구를 기반으로하기 때문에 이것이 어떻게 답으로 간주 될 수 있는지 잘 모르겠습니다. 질문은 SSMS
Jacques

2
DBeaver 는 또한이 쿼리를 허용합니다. ; 실행. 그리고 그것은 훨씬 더 전력은 SQL 개발자
디마 Fomin

@Jacques 단일 행 실행은 Oracle이 옳은 단일 기능이지만 Microsoft는 그렇지 않았습니다. SQL 개발자에 대한 다른 모든 하위 파이지만 않습니다 MS SQL 서버와 통합 할 수 있습니다.
jpaugh

@Jacques는 SSMS에서 작업하기가 쉽지 않기 때문에이 답변이있어 기쁩니다.이 답변이 최고인 것 같습니다 (일반적으로 내 쿼리는 한 줄짜리가 아니며 복잡한 쿼리를 작성하는 것을 선호하지 않습니다 CTRL + KU가 작동하도록 한 줄만 ...)
Betlista 2018

9

누군가 Devart dbForge SQL Complete (Management Studio 용 addon) 에서이 기능제안 했으며 아직 개발 단계에 있습니다. 완료되고 개발 중간에 버려지지 않기를 바랍니다.


2
방금 Sqlserver14 (?) 무료 버전을 설치했는데 작동하는 것 같습니다. [Devart 페이지 ( devart.com/dbforge/sql/sqlcomplete/editions.html )
LosManos

지금까지 사용 해봤는데 .. 이제 비주얼 스튜디오를 시작할 때마다 추가가 표시됩니다.
PAS

6

참고 : 이상하게도 무료 Toad for SQL Server에서도 커서 아래의 명령문 만 실행할 수 없습니다.

두꺼비가 약속을 지키지 않는 것은 정말 짜증납니다.

TOAD 도움말에서 : [F9 to execute] 명령문의 일부. 하나 이상의 명령문을 포함 할 수 있습니다. 명령문 내부 또는 옆에 커서를 놓거나 명령문을 선택하여 명령문의 일부를 선택할 수 있습니다. 참고 : Toad는 커서에서 또는 두 개 미만의 빈 줄로 서로 분리 된 모든 문 (주석 포함)을 "인접한"것으로 간주합니다. 명령문 실행 중에 오류가 발생하면 오류 메시지가 표시되어 오류를 무시하고 계속하거나 실행을 중단 할 수 있습니다.

나는 그것을 백만 번 시도했지만 단순히 전체 스크립트를 실행합니다. 사용자 지원 그룹 (toadss (at) yahoogroups.com)에서 검색하고 싶었지만 yahoo는 지금까지 가장 멍청한 검색 기능을 가지고 있습니다! 두꺼비 메일 그룹 DOH에서 "두꺼비"라는 키워드도 찾을 수 없습니다.

나는 TOAD가 최고의 쿼리 도구라고 생각하지만,이 기능의 부족은 저를 정말 짜증나게합니다.

업데이트 : 솔루션을 찾았습니다! 나는 두꺼비 메일 그룹 에서이 문제를 물었고 대답을 얻었습니다. Oracle과 달리 SQL Server에서는 각 문 다음에 GO 키워드를 사용하여 문을 구분해야 합니다. 그렇게하는 경우에만 F9 버튼이 예상대로 작동하여 현재 문을 실행합니다.


6

위의 답변은 쿼리를 선택하지 않고 현재 문을 실행하는 바로 가기를 만드는 데 도움이되었습니다.

1- 도구 > 옵션 > 환경 > 키보드를 클릭합니다.

2-다음 포함하는 명령 표시의 경우 SqlComplete10.Common_ExecuteCurrentStatement로 설정합니다.

3-새 바로 가기 사용의 경우 SQL 쿼리 편집기로 설정합니다.

4-단축키 누르기 (원하는 단축키)의 경우 Ctrl-Enter 조합을 수행합니다.

5- 할당을 클릭 합니다 . 확인을 클릭하십시오.


이것은 트릭을 수행하지만 먼저 다른 명령에서 바로 가기를 제거해야했습니다. 그렇지 않으면 작동하지 않습니다.
1

당신은 그렇게 않았다 방법? 위의 지침을 따르면 ctl-enter는 행을 강조 표시합니다 (내 쿼리는 여러 행에 있음).
user441521

구식 인 것 같습니다.
Ali Karaca 18.02.02

@Matt 내가 "Execute"를 검색했을 때 뭔가를 찾았습니다. 즉, Tools.ExecuteStatement바로 가기를 Global로 변경할 때만 작동합니다.
jpaugh

@Matt Nope! 추가 된 것을, 알고 보니 이 플러그인 , 마지막으로 일하기 시작했다.
jpaugh

4

해결 방법을 사용합니다. 사용하지 않는 쿼리에 주석을 답니다. CTRL-K, CTRL-C를 사용하여 강조 표시 한 SQL에 주석을 달 수 있습니다. CTRL-K, CTRL-U를 사용하여 주석을 제거하십시오. 이렇게하면 다른 모든 쿼리에 주석을 달고 F5를 사용하여 관심있는 쿼리를 실행할 수 있습니다.


8
이것은 엉덩이의 전체적인 고통입니다. SQL 편집기에서 원하지 않는 모든 내용을 주석 처리해야하는 이유는 무엇입니까? 마우스를 잡거나 "Shift + Up"을 35 번 누르지 않고 "이 하나의 명령을 실행"이라고 긍정적으로 말할 수 있습니까?
JosephStyons 2009-08-13

4
명확히하기 위해 답변 해 주셔서 감사합니다. 감사합니다. 나는 정말로 SQL Server Mgmt Studio 인터페이스를 고집하고 있습니다.
JosephStyons 2009-08-13

1
더 나은 방법을 찾을 경우 : 여기에 게시해야합니다
Andomar

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

Toad for SQL Server에서는 다음과 같은 기본 단축키를 실행에 사용할 수 있습니다.

  • F5 : 편집기에서 모든 SQL 문 실행
  • F9 : 현재 커서 위치에서 SQL 문 실행
  • Shift-F9 : 현재 커서 위치를 포함하여 커서에서 모든 SQL 문 실행

그러나 'ercan'이 쓴 것처럼 각 문장을 'GO'로 분리 / 따라야합니다.

SELECT TOP 5 * FROM accounts
GO

SELECT TOP 5 * FROM users
GO

SELECT TOP 5 * FROM contracts
GO

1

신경이 쓰이는 마우스 부분으로 손을 움직여야하는 경우 Ctrl 키를 누른 상태에서 위쪽 또는 아래쪽 화살표 키를 눌러 한 번에 선을 선택할 수 있습니다.


6
시프트 말인가요? 그리고 그것은 더 큰 진술의 경우 지루합니다. 그래도 아이디어에 감사드립니다.
JosephStyons 2009-08-13

1

히트 Ctrl- E텍스트가 강조된다.


9
좋아,하지만 여전히 내가 원하는 것을 수동으로 강조 표시해야합니다. 내 진짜 목표는 명령문을 입력 한 다음 커서 아래에있는 항목 만 실행할 수있는 키를 누르는 것입니다.
JosephStyons 2009-08-13

7
나를 위해, 텍스트가 "CTRL-E"로 강조 표시되는 동안 F5를 누르기가 더 쉽습니다.
KM.

1

SQL Complete Express 에디션에는이 기능이 내장되어 있습니다. 그러나 사용자 지정 인텔리 센스 없이는 얻을 수 없습니다.

(나는 Salamander2007의 포스트에서 이것을 얻었습니다)


3
방법을 말하지 않고는별로 유용하지 않습니다
G-.

1

실행기 추가 기능 솔루션 (최상위 게시 답변)이 제대로 작동하지 않는 경우 작동하도록했습니다 (SSMS v17.8.1) : 추가 기능은 도구 아래에 명령을 추가합니다 : Tools> Execute Inner Statement .

도구> 옵션> 키보드로 이동 한 다음 '다음을 포함하는 명령 표시 :'에서 "실행"을 검색하고 Tools.ExecuteInnerStatement를 선택하여 사용자 지정 키보드 바로 가기 키를 할당 할 수 있습니다 . 그런 다음 '단축키 누르기 :'필드에서 원하는 키 입력을 할당하고 할당 버튼을 누르십시오.


1

이 기능은 SSMS 용 SSMSBoost 추가 기능에 있습니다 (저는이 추가 기능의 개발자입니다).

Shift-F5 는 현재 명령문을 선택합니다 (현재 실행할 내용을 검토 할 수 있음). 그런 다음 F5 를 누르고 실행합니다.


1

SSMSBoost SSMSBoost / Settings / Macros에서 매크로를 정의 해보십시오.

오른쪽 패널 채우기 캡션에서 매크로에 대한 빈 슬롯을 선택합니다 (원하는 경우) 시퀀스에 2 개의 명령을 추가합니다 : SSMSBoost.SelectCurrentStatement Query.Execute 원하는 바로 가기를 할당하면됩니다.


0

항상 명령 줄 도구 sqlcmd 및 osql을 사용할 수 있습니다. 나는 내 명령 문자열을 동등한 (내가 생각하는 isql?)에 전달하는 래퍼 함수를 ​​사용하여 유닉스 명령 줄에서 많은 sybase를 수행했습니다. 나는 vi를 사용했기 때문에 아마도 나는 미쳤을 것입니다 ;-)


사실 그것은 도움이되지 않습니다. SQLCMD는 일괄 처리가 끝날 때까지 SQL Server에 명령을 보내지 않습니다. (일반적으로 GO로 표시됨)
Shannon Severance

0

실행하려는 단일 명령문을 선택 (강조 표시)하고 F5를 누르십시오.


2
질문에서 : 현재 문만 실행하려면 원하는 문을 수동으로 강조 표시 한 다음 F5 키를 눌러야합니다.
Paul McCarthy

1
마치 차에서
내리고

0

다음과 같이 두 도구를 결합 할 수 있습니다. dbForce 및 AuhotHotkey의 SQL Complete.

SQL Complete 사용 : Ctrl Shift E 조합을 눌러 커서에서 현재 명령문을 실행할 수 있습니다.

내가 AutoHotkey를 사용한 이유는 AutoHotkey 스크립트에서 다음 코드를 설정하여 F6을 사용하여 현재 명령문을 실행함으로써 삶을 더 쉽게 만들기 위해서입니다.

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

그리고 F6을 눌러 커서에서 현재 명령문을 실행할 수 있습니다.

하지만 때때로, 내 큰 문제는 실수로 F6 대신 F5를 누르는 것입니다. : D


0

SSMS에 대한 Redgate의 SQL 프롬프트 확장은이를 수행 할 수 있습니다.

무료는 아니지만 내 경험상 가치가 있습니다. SSMS out of the box 버전, 탭 색상, 탭 히스토리 (매우 중요합니다!), 스 니펫, 단일 명령문 (단지 한 줄이 아닌) 실행 등보다 더 지능적입니다.


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. 를 클릭하십시오 OK. Done.

현재 행만 실행하려면 Shift + Home으로 행 끝까지 모든 행을 선택한 다음 Ctrl + Enter를 실행합니다.
Abdullah Ilgaz

0

사용 Shift+ 보다 버튼 저장, 단일 행을 선택합니다 (아래 화살표) Ctrl+KU : D를 롤.

그런 다음 F5 하여 실행하십시오.

도움이되기를 바랍니다 ..


-1

다음은 나를 위해 작동합니다 ... SSMS 2012를 사용합니다.

1-도구> 옵션> 환경 키보드를 클릭합니다.

2-를 포함하는 명령 표시의 경우 Query.Execute로 설정합니다.

3- 에서 새 바로 가기 사용의 경우 SQL 쿼리 편집기로 설정합니다.

4- 바로 가기 키 누르기의 경우 Ctrl-Enter 조합을 수행합니다.

5-할당을 클릭합니다. 확인을 클릭하십시오.


그것은 전체 스크립트를 수행합니다-커서 아래에 명령문을 원합니다.
JosephStyons

바로 질문을 잘못 이해해서 죄송합니다.
BGA
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.