다음을 통해 공유


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

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

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

IntelliSense에서 지원하는 문

SQL Server에서 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(힌트)

지원되는 추가적인 Transact-SQL 문

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

Transact-SQL 문 지원되는 구문 예외
INSERT execute_statement 절을 제외한 모든 구문입니다. None
UPDATE 모든 구문입니다. None
DELETE 모든 구문입니다. None
DECLARE @local_variable 모든 구문입니다. None
SET @local_variable 모든 구문입니다. None
EXECUTE 사용자 정의 저장 프로시저, 시스템 저장 프로시저, 사용자 정의 함수 및 시스템 함수 실행 None
CREATE TABLE 모든 구문입니다. None
CREATE VIEW 모든 구문입니다. None
CREATE PROCEDURE 모든 구문입니다. EXTERNAL NAME 절에 대한 IntelliSense 지원은 없습니다.

AS 절에서 IntelliSense는 이 주제에 나열된 문과 구문만 지원합니다.
ALTER PROCEDURE 모든 구문 EXTERNAL NAME 절에 대한 IntelliSense 지원은 없습니다.

AS 절에서 IntelliSense는 이 주제에 나열된 문과 구문만 지원합니다.
사용 모든 구문입니다. None

지원되는 문에서의 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 문에는 사용되지만 CREATE FUNCTION 문에 사용되는 열에는 사용되지 않는 열 이름에 대한 IntelliSense 지원이 있습니다.

예제

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

USE AdventureWorks2022;  
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 AdventureWorks2022.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의 입력 후 IntelliSense는 선택한 목록에서 PrimaryKeyCol, FirstNameColLastNameCol을 가능한 요소로 나열하며 이는 스크립트가 실행되지 않았고 MyTable(이)가 아직 MyTestDB에 존재하지 않더라도 해당됩니다.