IntelliSense에서 지원되는 Transact-SQL 구문

이 항목에서는 SQL Server 2012의 IntelliSense에서 지원하는 Transact-SQL 문 및 구문 요소에 대해 설명합니다.

IntelliSense에서 지원하는 문

SQL Server 2012에서 IntelliSense는 가장 일반적으로 사용되는 Transact-SQL 문만 지원합니다. 일부 일반적인 데이터베이스 엔진 쿼리 편집기 조건으로 인해 IntelliSense가 제대로 작동하지 않을 수 있습니다. 자세한 내용은 IntelliSense 문제 해결(SQL Server Management Studio)를 참조하십시오.

[!참고]

암호화된 저장 프로시저 또는 사용자 정의 함수와 같이 암호화된 데이터베이스 개체에 대해 IntelliSense를 사용할 수 없습니다. 확장 저장 프로시저 및 CLR 통합 사용자 정의 유형의 매개 변수에 대해 매개 변수 도움말 및 요약 정보를 사용할 수 없습니다.

SELECT 문

데이터베이스 엔진 쿼리 편집기에서는 SELECT 문의 다음 구문 요소에 대한 IntelliSense 지원을 제공합니다.

SELECT

WHERE

FROM

ORDER BY

HAVING

UNION

FOR

GROUP BY

TOP

OPTION (hint)

지원되는 추가 Transact-SQL 문

데이터베이스 엔진 쿼리 편집기에서는 다음 표에 표시된 Transact-SQL 문에 대한 IntelliSense 지원도 제공합니다.

Transact-SQL 문

지원되는 구문

INSERT

execute_statement 절을 제외한 모든 구문

UPDATE

모든 구문

DELETE

모든 구문

DECLARE @local_variable

모든 구문

SET @local_variable

모든 구문

EXECUTE

사용자 정의 저장 프로시저, 시스템 저장 프로시저, 사용자 정의 함수 및 시스템 함수 실행

CREATE TABLE

모든 구문

CREATE VIEW

모든 구문

CREATE PROCEDURE

모든 구문. 단, 다음 항목은 예외입니다.

  • EXTERNAL NAME 절에 대한 IntelliSense 지원은 없습니다.

  • AS 절에서 IntelliSense는 이 항목에 나열된 문과 구문만 지원합니다.

ALTER PROCEDURE

모든 구문. 단, 다음 항목은 예외입니다.

  • EXTERNAL NAME 절에 대한 IntelliSense 지원은 없습니다.

  • AS 절에서 IntelliSense는 이 항목에 나열된 문과 구문만 지원합니다.

USE

모든 구문

지원되는 문의 IntelliSense

데이터베이스 엔진 쿼리 편집기의 IntelliSense는 지원되는 Transact-SQL 문 중 하나에서 사용되는 경우 다음 구문 요소를 지원합니다.

  • APPLY를 비롯한 모든 조인 유형

  • PIVOT 및 UNPIVOT

  • 다음 데이터베이스 개체에 대한 참조

    • 데이터베이스 및 스키마

    • 테이블, 뷰, 테이블 반환 함수 및 테이블 식

    • 프로시저 및 프로시저 매개 변수

    • 스칼라 함수 및 스칼라 식

    • 지역 변수

    • CTE(공통 테이블 식)

  • 스크립트나 일괄 처리에 있는 CREATE 또는 ALTER 문에서만 참조되지만 스크립트나 일괄 처리를 아직 실행하지 않았기 때문에 데이터베이스에 없는 데이터베이스 개체. 이러한 개체는 다음과 같습니다.

    • 스크립트나 일괄 처리에 있는 CREATE TABLE 또는 CREATE PROCEDURE 문에서 지정한 테이블 및 프로시저

    • 스크립트나 일괄 처리에 있는 ALTER TABLE 또는 ALTER PROCEDURE 문에서 지정한 테이블 및 프로시저에 대한 변경 내용

    [!참고]

    CREATE VIEW 문을 실행할 때까지 CREATE VIEW 문의 열에 대해 IntelliSense를 사용할 수 없습니다.

앞에서 나열된 요소가 다음 Transact-SQL 문에서 사용되는 경우에는 IntelliSense가 제공되지 않습니다. 예를 들어 SELECT 문에서 사용되는 열 이름에 대해서는 IntelliSense가 지원되지만 CREATE FUNCTION 문에서 사용되는 열에 대해서는 IntelliSense가 지원되지 않습니다.

Transact-SQL 스크립트나 일괄 처리 내에서 데이터베이스 엔진 쿼리 편집기의 IntelliSense는 이 항목에 나열된 문과 구문만 지원합니다. 다음 Transact-SQL 코드 예제에서는 IntelliSense에서 지원하는 문 및 구문을 보여 줍니다. 예를 들어 다음 일괄 처리에서 IntelliSense는 SELECT가 CREATE FUNCTION 문에 포함되어 있지 않고 자체적으로 코딩된 경우 SELECT 문에 대해 사용할 수 있습니다.

USE AdventureWorks2012;
GO
SELECT Name
FROM Production.Product
WHERE Name LIKE N'Road-250%' and Color = N'Red';
GO
CREATE FUNCTION Production.ufn_Red250 ()
RETURNS TABLE
AS
RETURN 
(
    SELECT Name
    FROM AdventureWorks2012.Production.Product
    WHERE Name LIKE N'Road-250%'
      AND Color = N'Red'
);GO

이 기능은 CREATE PROCEDURE 또는 ALTER PROCEDURE 문의 AS 절에 있는 Transact-SQL 문 집합에도 적용됩니다.

Transact-SQL 스크립트나 일괄 처리 내에서 IntelliSense는 CREATE 또는 ALTER 문에서 지정했지만 문을 실행하지 않았기 때문에 데이터베이스에 없는 개체를 지원합니다. 예를 들어 쿼리 편집기에 다음과 같은 코드를 입력할 수 있습니다.

USE MyTestDB;
GO
CREATE TABLE MyTable
    (PrimaryKeyCol   INT PRIMARY KEY,
    FirstNameCol      NVARCHAR(50),
   LastNameCol       NVARCHAR(50));
GO
SELECT 

SELECT를 입력하면 스크립트를 실행하지 않아 MyTable이 MyTestDB에 아직 없더라도 IntelliSense는 SELECT 목록에 PrimaryKeyCol, FirstNameColLastNameCol을 사용 가능한 요소로 나열합니다.