티스토리 뷰

SQL

SQL Server 2012 코드 편집기 새 기능

정홍주 2012. 5. 23. 08:30

SQL Server 2012 코드 편집기 새 기능 

Visual Studio 에서는 snippet- 코드조각이라는 기능이 있습니다. 미리 등록된 내용 외에 xml 파일을 따로 작성해서 추가해서 코드 작성이 사용합니다. C# 코드에서는 아래와 같이 보이게 됩니다.

 

For 가 선택된 상황에서 탭을 누르면 변수 i를 다른 값으로 변경하고 탭을 누르면 length로 이동해서 변경할 수 있어 코드 작성시 잘 사용하면 도움이 됩니다.

 

코드조각 삽입 없이 For 를 쳐도 아이콘이 위와 같이 나오고 탭으로 코드 조각을 사용하게 됩니다.

또한 If 문 등으로 코드를 감싸주는 코드 감싸기도 제공되고 있습니다.

if (true)

{

for (int iValue = 0; iValue < length; iValue++)

{

 

} 

}

 

Visual Studio 에서의 코드 조각 단축키는 Ctrl+K, X 이며 코드 감싸기는 Ctrl+K, S 입니다. 편집 메뉴의 IntelliSense 메뉴에서 선택할 수 도 있습니다.

 

위와 같은 내용은 SQL Server 2012 Management Studio에서도 제공됩니다. 단축키도 똑 같습니다.

SQL 쿼리 작성기에서 Ctrl+K, X 를 해보도록 하겠습니다. 또는 마우스를 오른쪽 클릭해도 메뉴(코드 조작 삽입)를 볼 수 있습니다. SQL Server 개체들이 나타납니다.

 

이중에서 저장 프로시저를 선택하고 탭을 누르면 프로시저 만들기 코드 조각을 볼 수 있는데 프로시저 기본 템플릿 만들기를 선택해보도록 하겠습니다. 엔터를 사용하지 말고 탭으로 작업하면 됩니다.

CREATE PROCEDURE dbo.Sample_Procedure

    @param1 int = 0,

    @param2 int 

AS

    SELECT @param1,@param2

RETURN 0

 

dbo에서 커서가 멈춰있게 되는데 스키마를 변경하려면 변경하고 탭으로 저장 프로시저 이름으로 이동해서 수정합니다. 그리고 탭으로 이동하여 Param1을 변경하면 SELECT 구문에서도 Param1이 자동으로 변경됩니다. 쿼리 문으로 저장 프로시저 등 개체를 생성할 때 손쉽게 작업이 가능하다는 것을 알 수 있습니다.

CREATE PROCEDURE dbo.usp_GetProducts

    @ProductID int = 0 

AS

    SELECT @ProductID

RETURN 0

 

다음은 코드 감싸기를 한번 알아보도록 하겠습니다. 코드 감싸기는 IF, WHILE, BEGIN 을 제공해줍니다. 블럭으로 감싸주는 것입니다. 마우스로 감쌀 부분을 선택하고 오른쪽 클릭하면 코드 감싸기 메뉴를 볼 수 있습니다.

 

코드 감싸기를 선택하면 코드 조각이 나타나며 원하는 내용을 선택하면 됩니다. 

Begin 조각을 선택하면 아래와 같은 결과를 볼 수 있습니다.

BEGIN

 

 

SELECT *

FROM [Production].[Product]

 

END

 

IF 조각을 선택하면 아래와 같은 결과를 볼 수 있습니다. WHILE 도 유사합니다.

IF( 조건 )

BEGIN

 

SELECT *

FROM [Production].[Product] 

 

END

 

중간에 있는 구문이 들여쓰기가 되는 것은 아니라 좀 그렇지만 긴 라인의 경우 코드 감싸기를 통해서 쿼리 문을 리팩토링할 때 좋은 기능이니 참고하시면 좋을 것 같습니다.

 

 

 

댓글