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

적용 대상: 예SQL Server 예Azure SQL Database 예Azure Synapse Analytics(SQL DW) 예병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

다음 표에서는 Transact-SQLTransact-SQL 참조의 구문 다이어그램에 사용되는 규칙을 나열하고 설명합니다.The following table lists and describes conventions that are used in the syntax diagrams in the Transact-SQLTransact-SQL Reference.

규칙Convention 사용 대상Used for
대문자UPPERCASE Transact-SQLTransact-SQL 키워드입니다.keywords.
기울임꼴italic 사용자가 제공하는 Transact-SQLTransact-SQL 구문 매개 변수입니다.User-supplied parameters of Transact-SQLTransact-SQL syntax.
굵게bold 데이터베이스 이름, 테이블 이름, 열 이름, 인덱스 이름, 저장 프로시저, 유틸리티, 데이터 형식 이름 및 텍스트를 표시된 대로 정확히 입력합니다.Type database names, table names, column names, index names, stored procedures, utilities, data type names, and text exactly as shown.
밑줄underline 밑줄 친 값이 포함된 절이 문에 지정되지 않을 때 적용되는 기본값을 나타냅니다.Indicates the default value applied when the clause that contains the underlined value is omitted from the statement.
|(세로 막대)| (vertical bar) 대괄호 또는 중괄호 내에서 구문 항목을 구분합니다.Separates syntax items enclosed in brackets or braces. 항목 중 하나만 사용할 수 있습니다.You can use only one of the items.
[ ](대괄호)[ ] (brackets) 선택적 구문 항목입니다.Optional syntax items. 대괄호는 입력하지 않습니다.Don't type the brackets.
{}(중괄호){ } (braces) 필수 구문 항목입니다.Required syntax items. 중괄호는 입력하지 않습니다.Don't type the braces.
[ , ...n][,...n] 앞의 항목이 n 번 반복될 수 있음을 나타냅니다.Indicates the preceding item can be repeated n number of times. 각 항목은 쉼표로 구분됩니다.The occurrences are separated by commas.
[...n][...n] 앞의 항목이 n 번 반복될 수 있음을 나타냅니다.Indicates the preceding item can be repeated n number of times. 각 항목은 공백으로 구분됩니다.The occurrences are separated by blanks.
;; Transact-SQLTransact-SQL 문 종결자입니다.statement terminator. 이 버전의 SQL ServerSQL Server에서는 대부분의 문에 세미콜론이 필요하지 않지만 이후 버전에서는 필요합니다.Although the semicolon isn't required for most statements in this version of SQL ServerSQL Server, it will be required in a future version.
<label> ::=<label> ::= 구문 블록의 이름입니다.The name for a block of syntax. 이 규칙을 사용하여 문에서 한 곳 이상 사용할 수 있는 긴 구문의 섹션 또는 구문 단위를 그룹화하고 레이블을 지정합니다.Use this convention to group and label sections of lengthy syntax or a unit of syntax that you can use in more than one location within a statement. 구문 블록이 사용될 수 있는 각 위치는 갈매기 기호로 묶인 레이블(<label>)로 표시됩니다.Each location in which the block of syntax could be used is indicated with the label enclosed in chevrons: <label>.

집합은 식 모음(예: <grouping set>)이고, 목록은 집합 모음(예: <composite element list>)입니다.A set is a collection of expressions, for example <grouping set>; and a list is a collection of sets, for example <composite element list>.

다중 부분 이름Multipart Names

다른 지침이 없으면 데이터베이스 개체 이름에 대한 모든 Transact-SQLTransact-SQL 참조는 다음 형식과 같이 네 부분으로 된 이름으로 구성됩니다.Unless specified otherwise, all Transact-SQLTransact-SQL references to the name of a database object can be a four-part name in the following form:

server_name.[database_name].[schema_name].object_nameserver_name.[database_name].[schema_name].object_name

| database_name.[schema_name].object_name| database_name.[schema_name].object_name

| schema_name.object_name| schema_name.object_name

| object_name| object_name

server_nameserver_name
연결된 서버 이름 또는 원격 서버 이름을 지정합니다.Specifies a linked server name or remote server name.

database_namedatabase_name
개체가 SQL ServerSQL Server의 로컬 인스턴스에 있을 때 SQL ServerSQL Server 데이터베이스의 이름을 지정합니다.Specifies the name of a SQL ServerSQL Server database when the object resides in a local instance of SQL ServerSQL Server. 개체가 연결된 서버에 있으면 database_name은 OLE DB 카탈로그를 지정합니다.When the object is in a linked server, database_name specifies an OLE DB catalog.

schema_nameschema_name
개체가 SQL ServerSQL Server 데이터베이스에 있을 경우 해당 개체가 포함된 스키마의 이름을 지정합니다.Specifies the name of the schema that contains the object if the object is in a SQL ServerSQL Server database. 개체가 연결된 서버에 있으면 schema_name은 OLE DB 스키마 이름을 지정합니다.When the object is in a linked server, schema_name specifies an OLE DB schema name.

object_nameobject_name
개체의 이름을 참조합니다.Refers to the name of the object.

특정 개체를 참조할 때 SQL Server 데이터베이스 엔진SQL Server Database Engine에서 개체를 식별하기 위해 항상 서버, 데이터베이스 및 스키마를 지정할 필요는 없습니다.When referencing a specific object, you don't always have to specify the server, database, and schema for the SQL Server 데이터베이스 엔진SQL Server Database Engine to identify the object. 그러나 개체를 찾을 수 없으면 오류가 반환됩니다.However, if the object can't be found, an error is returned.

참고

이름 확인 오류를 방지하기 위해서는 스키마 범위 개체를 지정할 때 항상 스키마를 지정하는 것이 좋습니다.To avoid name resolution errors, we recommend specifying the schema name whenever you specify a schema-scoped object.

중간 노드를 생략하려면 마침표를 사용해 이 위치를 표시하십시오.To omit intermediate nodes, use periods to indicate these positions. 다음 표에서는 개체 이름의 유효한 형식을 보여 줍니다.The following table shows the valid formats of object names.

개체 참조 형식Object reference format 설명Description
server.database.schema.objectserver.database.schema.object 네 부분으로 이루어진 이름입니다.Four-part name.
server.database..objectserver.database..object 스키마 이름이 생략됩니다.Schema name is omitted.
server..schema.objectserver..schema.object 데이터베이스 이름이 생략됩니다.Database name is omitted.
server...objectserver...object 데이터베이스 및 스키마 이름이 생략됩니다.Database and schema name are omitted.
database.schema.objectdatabase.schema.object 서버 이름이 생략됩니다.Server name is omitted.
database..objectdatabase..object 서버 및 스키마 이름이 생략됩니다.Server and schema name are omitted.
schema.objectschema.object 서버 및 데이터베이스 이름이 생략됩니다.Server and database name are omitted.
objectobject 서버, 데이터베이스 및 스키마 이름이 생략됩니다.Server, database, and schema name are omitted.

코드 예 표기 규칙Code Example Conventions

특별한 언급이 없으면 Transact-SQLTransact-SQL 참조에서 제공되는 예는 다음 옵션에 대해 기본 설정을 사용하여 SQL Server Management StudioSQL Server Management Studio에서 테스트되었습니다.Unless stated otherwise, the examples provided in the Transact-SQLTransact-SQL Reference were tested by using SQL Server Management StudioSQL Server Management Studio and its default settings for the following options:

  • ANSI_NULLSANSI_NULLS
  • ANSI_NULL_DFLT_ONANSI_NULL_DFLT_ON
  • ANSI_PADDINGANSI_PADDING
  • ANSI_WARNINGSANSI_WARNINGS
  • CONCAT_NULL_YIELDS_NULLCONCAT_NULL_YIELDS_NULL
  • QUOTED_IDENTIFIERQUOTED_IDENTIFIER

Transact-SQLTransact-SQL 참조에 있는 대부분의 코드 예는 정렬 시 대/소문자를 구분하는 서버에서 테스트되었으며Most code examples in the Transact-SQLTransact-SQL Reference have been tested on servers that are running a case-sensitive sort order. 일반적으로 테스트 서버에서는 ANSI/ISO 1252 코드 페이지가 실행됩니다.The test servers were typically running the ANSI/ISO 1252 code page.

많은 코드 예제에서 유니코드 문자열 상수 앞에 문자 N을 접두사로 붙입니다. N 접두사가 없으면 문자열이 데이터베이스의 기본 코드 페이지로 변환됩니다.Many code examples prefix Unicode character string constants with the letter N. Without the N prefix, the string is converted to the default code page of the database. 이 기본 코드 페이지는 일부 문자를 인식하지 않을 수 있습니다.This default code page may not recognize certain characters.

'적용 대상' 참조"Applies to" References

Transact-SQLTransact-SQL 참조에는 SQL ServerSQL Server (SQL Server 2008SQL Server 2008 ~ SQL ServerSQL Server), Azure SQL 데이터베이스Azure SQL Database, Azure Synapse Analytics(SQL DW)Azure Synapse Analytics (SQL DW)와 관련된 항목이 포함되어 있습니다.The Transact-SQLTransact-SQL reference includes articles related to SQL ServerSQL Server (SQL Server 2008SQL Server 2008 through SQL ServerSQL Server), Azure SQL 데이터베이스Azure SQL Database, and Azure Synapse Analytics(SQL DW)Azure Synapse Analytics (SQL DW).

각 문서의 위쪽에는 문서의 주제를 지원하는 제품을 나타내는 섹션이 있습니다.There's a section near the top of each article indicating which products support the article's subject. 제품이 생략되면 문서에서 설명하는 기능을 해당 제품에서 사용할 수 없습니다.If a product is omitted, then the feature described by the article isn't available in that product. 예를 들어 가용성 그룹이 SQL Server 2012(11.x)SQL Server 2012 (11.x)에서 도입되었습니다.For example, availability groups were introduced in SQL Server 2012(11.x)SQL Server 2012 (11.x). CREATE AVAILABILITY GROUP 문서는 SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2 또는 Azure SQL 데이터베이스Azure SQL Database에 적용되지 않으므로 SQL ServerSQL Server(SQL Server 2012(11.x)SQL Server 2012 (11.x)~SQL ServerSQL Server)에 적용됨을 나타냅니다.The CREATE AVAILABILITY GROUP article indicates it applies to SQL ServerSQL Server (SQL Server 2012(11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server) because it doesn't apply to SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, or Azure SQL 데이터베이스Azure SQL Database.

문서의 일반적인 주제를 제품에서 사용할 수 있지만 경우에 따라 일부 인수가 지원되지 않습니다.The general subject of the article might be used in a product, but all of the arguments aren't supported in some cases. 예를 들어 포함된 데이터베이스 사용자가 SQL Server 2012(11.x)SQL Server 2012 (11.x)에서 도입되었습니다.For example, contained database users were introduced in SQL Server 2012(11.x)SQL Server 2012 (11.x). 모든 SQL ServerSQL Server 제품에서 CREATE USER 문을 사용할 수 있지만, WITH PASSWORD 구문은 이전 버전에서 사용할 수 없습니다.Use the CREATE USER statement in any SQL ServerSQL Server product, however the WITH PASSWORD syntax can't be used with older versions. 추가적인 적용 대상 섹션이 항목 본문의 적절한 인수 설명에 삽입됩니다.Additional Applies to sections are inserted into the appropriate argument descriptions in the body of the article.

참고 항목See Also

Transact-SQL 참조 (데이터베이스 엔진) Transact-SQL Reference (Database Engine)
예약 키워드 (Transact SQL) Reserved Keywords (Transact SQL)
Transact-SQL 디자인 문제 Transact-SQL Design Issues
Transact-SQL 명명 문제 Transact-SQL Naming Issues
Transact-SQL 성능 문제Transact-SQL Performance Issues