Transact-SQL 구문 표기 규칙(Transact-SQL)

적용 대상: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

다음 표에서는 Transact-SQL 참조의 구문 다이어그램에 사용되는 규칙을 나열하고 설명합니다.

규칙 사용 대상
대문자 Transact-SQL 키워드.
기울임꼴 사용자가 제공하는 Transact-SQL 구문 매개 변수.
굵게 데이터베이스 이름, 테이블 이름, 열 이름, 인덱스 이름, 저장 프로시저, 유틸리티, 데이터 형식 이름 및 텍스트를 표시된 대로 정확히 입력합니다.
|(세로 막대) 대괄호 또는 중괄호 내에서 구문 항목을 구분합니다. 항목 중 하나만 사용할 수 있습니다.
[ ](대괄호) 선택적 구문 항목입니다.
{}(중괄호) 필수 구문 항목입니다. 중괄호는 입력하지 않습니다.
[ , ...n ] 앞의 항목이 n 번 반복될 수 있음을 나타냅니다. 각 항목은 쉼표로 구분됩니다.
[ ...n ] 앞의 항목이 n 번 반복될 수 있음을 나타냅니다. 각 항목은 공백으로 구분됩니다.
; Transact-SQL 문 종결자. 이 버전의 SQL Server에서는 대부분의 문에 세미콜론이 필요하지 않지만 이후 버전에서는 필요합니다.
구문 블록의 이름입니다. 이 규칙을 사용하여 문에서 한 곳 이상 사용할 수 있는 긴 구문의 섹션 또는 구문 단위를 그룹화하고 레이블을 지정합니다. 구문 블록이 사용될 수 있는 각 위치는 갈매기 기호로 묶인 레이블(<label>)로 표시됩니다.

집합은 식 모음(예: <grouping set>)이고, 목록은 집합 모음(예: <composite element list>)입니다.

다중 부분 이름

다른 지침이 없으면 데이터베이스 개체 이름에 대한 모든 Transact-SQL 참조는 다음 형식과 같이 네 부분으로 된 이름으로 구성됩니다.

server_name.[database_name].[schema_name].object_name

| database_name.[schema_name].object_name

| schema_name.object_name

| object_name

  • server_name

    연결된 서버 이름 또는 원격 서버 이름을 지정합니다.

  • database_name

    개체가 SQL Server의 로컬 인스턴스에 있을 때 SQL Server 데이터베이스의 이름을 지정합니다. 개체가 연결된 서버에 있으면 database_name은 OLE DB 카탈로그를 지정합니다.

  • schema_name

    개체가 SQL Server 데이터베이스에 있을 경우 해당 개체가 포함된 스키마의 이름을 지정합니다. 개체가 연결된 서버에 있으면 schema_name은 OLE DB 스키마 이름을 지정합니다.

  • object_name

    개체의 이름을 참조합니다.

특정 개체를 참조할 때 SQL Server 데이터베이스 엔진에서 개체를 식별하기 위해 항상 서버, 데이터베이스 및 스키마를 지정할 필요는 없습니다. 그러나 개체를 찾을 수 없으면 오류가 반환됩니다.

이름 확인 오류를 방지하기 위해서는 스키마 범위 개체를 지정할 때 항상 스키마를 지정하는 것이 좋습니다.

중간 노드를 생략하려면 마침표를 사용해 이 위치를 표시하십시오. 다음 표에서는 개체 이름의 유효한 형식을 보여 줍니다.

개체 참조 형식 Description
server_name.database_name.schema_name.object_name 네 부분으로 이루어진 이름입니다.
server_name.database_name..object_name 스키마 이름이 생략됩니다.
server_name..schema_name.object_name 데이터베이스 이름이 생략됩니다.
server_name...object_name 데이터베이스 및 스키마 이름이 생략됩니다.
database_name.schema_name.object_name 서버 이름이 생략됩니다.
database_name..object_name 서버 및 스키마 이름이 생략됩니다.
schema_name.object_name 서버 및 데이터베이스 이름이 생략됩니다.
object_name 서버, 데이터베이스 및 스키마 이름이 생략됩니다.

코드 예 표기 규칙

특별한 언급이 없으면 Transact-SQL 참조에서 제공되는 예는 다음 옵션에 대해 기본 설정을 사용하여 SQL Server Management Studio에서 테스트되었습니다.

  • ANSI_NULLS
  • ANSI_NULL_DFLT_ON
  • ANSI_PADDING
  • ANSI_WARNINGS
  • CONCAT_NULL_YIELDS_NULL
  • QUOTED_IDENTIFIER

Transact-SQL 참조에 있는 대부분의 코드 예는 정렬 시 대/소문자를 구분하는 서버에서 테스트되었습니다. 일반적으로 테스트 서버에서는 ANSI/ISO 1252 코드 페이지가 실행됩니다.

많은 코드 예제에서 유니코드 문자열 상수 앞에 문자 N을 접두사로 붙입니다. N 접두사가 없으면 문자열이 데이터베이스의 기본 코드 페이지로 변환됩니다. 이 기본 코드 페이지는 일부 문자를 인식하지 않을 수 있습니다.

'적용 대상' 참조

Transact-SQL 참조 문서에는 SQL Server 2008(10.0.x)부터 Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)까지 여러 버전의 SQL Server가 포함됩니다.

각 문서의 위쪽에는 문서의 주제를 지원하는 제품을 나타내는 섹션이 있습니다. 제품이 생략되면 문서에서 설명하는 기능을 해당 제품에서 사용할 수 없습니다.

문서의 일반적인 주제를 제품에서 사용할 수 있지만 경우에 따라 일부 인수가 지원되지 않습니다. 예를 들어 포함된 데이터베이스 사용자가 SQL Server 2012(11.x)에서 도입되었습니다. 모든 SQL Server 제품에서 CREATE USER 문을 사용할 수 있지만, WITH PASSWORD 구문은 이전 버전에서 사용할 수 없습니다. 추가적인 적용 대상 섹션이 항목 본문의 적절한 인수 설명에 삽입됩니다.

추가 정보