SQL Server #region


163

난 (같은 SQL 서버 편집기에서 영역을 만들 수 있습니다 #region#endregionC #에서)을?

답변:


272

정말, 죄송합니다! 그러나...

beginend..을 추가하면 begin다음과 같은 영역이 생성됩니다 .

종료 지역 코드 시작의 스크린 샷

그렇지 않으면 확장 및 축소 만 할 수 있으며 확장 및 축소 할 대상은 지시 할 수 없습니다. SSMS 도구 팩 과 같은 타사 도구가 없으면 아닙니다 .


4
텍스트 편집기> Transact-SQL> Intellisense> Intellisense
GatesReign

2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . 모든 Transact-SQL 문은 BEGIN ... END 블록 내에서 유효하지만 특정 Transact-SQL 문은 동일한 배치 (문구 블록) 내에서 함께 그룹화되어서는 안됩니다. 왜 그룹화해서는 안되는지 말해 줄 수 있습니까?
Jacob Phan

1
유용한 해킹이지만 여러 지역 / 섹션을 만들려면 명령문 go뒤에 추가하는 것을 잊지 마십시오 end.
marchWest

훌륭한! 감사
스텁

좋아! 주석 블록 만있는 경우 주석이없는 것을 추가해야합니다. 예를 들어 : 인쇄
이논

12

(저는 SSMS 용 SSMSBoost 애드 인의 개발자입니다 )

우리는 최근이 구문에 대한 지원을 SSMSBoost 애드 인에 추가했습니다.

--#region [Optional Name]
--#endregion

스크립트를 열 때 영역을 자동으로 "인식"하는 옵션도 있습니다.


2
괜찮지 만 즉시 작동하지 않습니다. 새로 만든 영역을 축소하려면 파일을 닫았다가 다시 열어야합니다.
Martin Capodici

4
툴바의 SSMSBoost 메뉴에 "reparse region"옵션이 있습니다. 따라서 파일을 다시 열 필요가 없습니다.
Andrei Rantsevich가

불행히도 이것은 버그가 있습니다. 지역 내의 첫 번째 코드 설명이 주석 처리 된 경우 해당 코드는 마지막 주석 처리 된 코드 행에서 종료되었습니다
Jeff

9

BEGIN ... END가 작동하면 주석 처리 된 섹션 만 추가하면됩니다. 가장 쉬운 방법은 섹션 이름을 추가하는 것입니다! 또 다른 경로는 주석 블록을 추가하는 것입니다. 아래를보십시오 :

BEGIN  -- Section Name
/* 
Comment block some stuff  --end comment should be on next line
*/

 --Very long query
SELECT * FROM FOO
SELECT * FROM BAR
END


4

쿼리 편집기에서 텍스트 들여 쓰기를 사용하면됩니다.

확장 된보기 :

퍼지는

접힌보기 :

접힌


3

아니요, #region은 T-SQL 언어로 존재하지 않습니다.

begin-end 블록을 사용하여 코드 폴딩을 얻을 수 있습니다.

-내 지역
시작하다
    -코드는 여기에 간다
종료

다른 방법으로 코드를 리팩터링 할 수 없다면 이것을 사용하는 것이 좋습니다.


2

McVitie와 유사한 기술을 사용했으며 저장 프로시 저나 스크립트가 아주 긴 경우에만 사용했습니다. 다음과 같은 특정 기능 부분을 분석합니다.

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

이 방법은 관리 스튜디오에서 상당히 훌륭하게 보이고 코드 검토에 실제로 도움이됩니다. 접힌 조각은 다음과 같습니다.

BEGIN /** delete queries **/ ... /** delete queries **/

나는 이런 식으로 내 BEGIN성냥을 알고 있기 때문에 실제로 이것을 좋아합니다 END.


1

다른 옵션은

목적이 쿼리를 분석하는 경우 Notepad +에는 Sql에 유용한 자동 래퍼가 있습니다.


이것은 정말 나를 도와줍니다. 감사합니다
Theotonio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.