Transact-SQL 語法慣例 (Transact-SQL)

適用於:Microsoft Fabric 中 Microsoft Fabric倉儲中的 SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體 Azure SynapseAnalytics Analytics Platform System (PDW)SQL 分析端點

下表列出並描述 Transact-SQL 參考的語法圖表中所使用的慣例。

慣例 用於
大寫 Transact-SQL 關鍵字。
斜體 使用者提供的 Transact-SQL 語法參數。
粗體字 請完全依照顯示的方式鍵入資料庫名稱、資料表名稱、資料行名稱、索引名稱、預存程序、公用程式、資料類型名稱和文字。
| (分隔號) 加上括號或大括號來分隔語法項目。 您只可以選擇其中一個項目。
[ ] (方括號) 選擇性的語法項目。
{ } (大括號) 必要的語法項目。 不要鍵入大括弧。
[ , ...n ] 指出先前項目可以重複 n 次。 以逗號分隔項目。
[ ...n ] 指出先前項目可以重複 n 次。 以空白分開各次出現項目。
; Transact-SQL 陳述式結束字元。 雖然在這個 SQL Server 版本中大多數陳述式都不需要使用分號,但在未來的版本中將會需要。
語法區塊的名稱。 針對冗長語法的區段,或可用於陳述式中多個位置的語法單位,請使用這個慣例進行分組與標示。 每個能夠使用語法區塊的位置,都會以括在>形箭號內的標籤來表示:<標籤>。

set 是運算式的集合,例如 <grouping set>;而 list 則是 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 資料庫引擎識別物件。 不過,如果找不到物件,就會傳回錯誤。

若要避免名稱解析錯誤,我們建議您每當指定結構描述範圍的物件時,都要指定結構描述名稱。

若要省略中繼節點,請利用句點來表示這些位置。 下表顯示物件名稱的有效格式。

物件參考格式 描述
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 作為 Unicode 字元字串常數的前置詞。 若沒有 N 前置詞,字串會被轉換為資料庫的預設字碼頁。 這個預設字碼頁可能無法辨識特定字元。

「適用於」參考

Transact-SQL 參考文章包含多個 SQL Server 版本 (從 SQL Server 2008 (10.0.x) 開始),以及 Azure SQL Database、Azure SQL 受控執行個體、Azure Synapse Analytics 和 Analytics Platform System (PDW)。

在每個文章頂端附近,都有一個章節指出支援該文章主題的產品。 如果未列出產品,即表示文章描述的功能不適用於該產品。

文章的一般主題可能適用於某產品,但在某些情況下並非所有的引數都受支援。 例如,自主資料庫使用者是在 2012 SQL Server 2012 (11.x) 引進。 您可以在任何 SQL Server 產品中使用 CREATE USER 陳述式,但 WITH PASSWORD 語法無法搭配舊版使用。 文章本文會於適當引數描述中插入額外的<適用對象> 一節。

另請參閱