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
문에 사용할 수 있지만 SELECT
가 CREATE 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, FirstNameCol 및 LastNameCol을 가능한 요소로 나열하며 이는 스크립트가 실행되지 않았고 MyTable
(이)가 아직 MyTestDB
에 존재하지 않더라도 해당됩니다.