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

적용 대상: 예SQL Server(지원되는 모든 버전) 예Azure SQL Database 예Azure SQL Managed Instance 예Azure Synapse Analytics 예병렬 데이터 웨어하우스

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

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

코드 예 표기 규칙

특별한 언급이 없으면 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(SQL Server 2008 이상), Azure SQL Database 및 Azure Synapse Analytics 관련 항목이 포함되어 있습니다.

각 문서의 위쪽에는 문서의 주제를 지원하는 제품을 나타내는 섹션이 있습니다. 제품이 생략되면 문서에서 설명하는 기능을 해당 제품에서 사용할 수 없습니다. 예를 들어 가용성 그룹이 SQL Server 2012(11.x)에서 도입되었습니다. CREATE AVAILABILITY GROUP 문서는 SQL Server 2008, SQL Server 2008 R2 또는 Azure SQL Database에 적용되지 않으므로 SQL Server(SQL Server 2012(11.x) 이상)에 적용됨을 나타냅니다.

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

참고 항목

Transact-SQL 참조 (데이터베이스 엔진)
예약 키워드 (Transact SQL)
Transact-SQL 디자인 문제
Transact-SQL 명명 문제
Transact-SQL 성능 문제