Transact-SQL 語法慣例 (Transact-SQL)
下表列出和描述 Transact-SQL 參考中之語法圖所用的慣例。
慣例 |
適用於 |
---|---|
大寫 |
Transact-SQL 關鍵字。 |
斜體字 |
使用者提供的 Transact-SQL 語法參數。 |
粗體字 |
必須完全依照顯示來輸入的資料庫名稱、資料表名稱、資料行名稱、索引名稱、預存程序、公用程式、資料類型名稱和文字。 |
底線 |
指出省略陳述式中包含附加底線之值的子句時,所套用的預設值。 |
| (分隔號) |
加上括號或大括號來分隔語法項目。您只可以選擇其中一個項目。 |
[ ] (方括號) |
選擇性的語法項目。不要輸入方括號。 |
{ } (大括號) |
必要的語法項目。請勿輸入大括號。 |
[,...n] |
指出先前項目可以重複 n 次。以逗號分開各次出現項目。 |
[...n] |
指出先前項目可以重複 n 次。以空白分開各次出現項目。 |
; |
Transact-SQL 陳述式結束字元。雖然這個 SQL Server 版本中的大部分陳述式都不需要使用分號,但是未來的版本可能會需要使用分號。 |
<label> ::= |
語法區塊的名稱。這個慣例用來分組和標示長語法的區段,或陳述式內的多個位置所能使用的語法單位。每個能夠使用語法區塊的位置,都用含括在箭號內的標籤來指示:<label>。 set 是運算式的集合,例如 <grouping set>,而 list 則是集合的集合,例如 <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 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 字碼頁。
許多程式碼範例都會在 Unicode 字元字串常數前面附加 N 字母。若沒有 N 前置詞,字串會被轉換為資料庫預設的字碼頁。這個預設字碼頁可能無法辨識特定字元。如需詳細資訊,請參閱<以 Unicode 進行伺服器端程式設計>。