分享方式:


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

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

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

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

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> 省略伺服器、資料庫和結構描述名稱。

資料類型

在發行項中使用內嵌時,數據類型會以小寫和粗體呈現。 例如 ,intvarchar(255)bit

在 Transact-SQL 程式代碼區塊中使用時,數據類型會以大寫呈現。 例如:

DECLARE @int_example AS INT;
DECLARE @varchar_example AS VARCHAR(255);
DECLARE @bit_example AS BIT;

程式碼範例慣例

除非另有指示,否則 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) 引進。 CREATE USER在任何 SQL Server 產品中使用 語句;不過WITH PASSWORD,語法無法與舊版搭配使用。 額外的 [適用於 ] 區段會插入文章本文中適當的自變數描述中。