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

適用于:SQL Server (Azure SQL Database Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System ( PDW) 的所有支援) 版本

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

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

集合是運算式的集合,例如 < 群組集 > ;清單是集合的集合,例如 < 複合專案清單 > 。

多部分名稱

除非另有指定,否則資料庫物件名稱的所有 Transact-SQL 參考都可以是下列格式的四部分名稱:

server_name。[database_name]。[schema_name]。object_name

| database_name。[schema_name]。object_name

| schema_nameobject_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 Database Engine 的伺服器、資料庫和架構來識別物件。 不過,如果找不到物件,就會傳回錯誤。

注意

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

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

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

「適用於」參考

Transact-SQL 參考包含與 SQL Server (SQL Server 2008 和更新版本) 、Azure SQL Database 和 Azure Synapse Analytics 相關的文章。

在每個文章頂端附近,都有一個章節指出支援該文章主題的產品。 如果未列出產品,即表示文章描述的功能不適用於該產品。 例如,可用性群組是在 2012 SQL Server 2012 (11.x) 中引進。 CREATE AVAILABILITY GROUP文章指出它適用于 SQL Server (SQL Server 2012 (11.x) 和更新版本) ,因為它不適用於 SQL Server 2008、SQL Server 2008 R2 或 Azure SQL Database。

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

另請參閱

Transact-SQL 參考 (資料庫引擎)
(Transact SQL) 保留關鍵字
Transact-SQL 設計問題
Transact-SQL 命名問題
Transact-SQL 效能問題