將識別碼當成物件名稱使用
物件的完整名稱由四個識別碼組成:伺服器名稱、資料庫名稱、結構描述名稱和物件名稱。它們以下列格式顯示:
[ [ [ server. ] [ database ] . ] [ schema_name ] . ] object_name
伺服器、資料庫和擁有者名稱,即所謂的物件名稱限定詞。當您參考物件時,不必指定伺服器、資料庫和擁有者。可以用句點標示限定詞的位置來省略限定詞。物件名稱的有效格式包括:
- server.database.schema_name.object_name
- server.database..object_name
- server..schema_name.object_name
- server...object_name
- database.schema_name.object_name
- database..object_name
- schema_name.object_name
- object_name
四個部份的物件名稱全部指定時,即稱為完整名稱。在 Microsoft SQL Server 2005 中建立的每一個物件必須有唯一的完整名稱。例如,在相同資料庫中可以有兩個資料表都叫做 xyz,只要它們的擁有者是不同的。
大部份物件參考均使用三部份名稱。預設值是本機伺服器。四部份名稱通常用於分散式查詢或遠端預存程序呼叫。它們使用下列格式。
linkedserver.catalog.schema.object_name
下表顯示部份名稱及其描述。
部份名稱 | 描述 |
---|---|
linkedserver |
連結的伺服器之名稱,其中包含由分散式查詢參考的物件。 |
catalog |
內含分散式查詢參考物件的資料庫目錄 (Catalog) 名稱。 |
schema |
內含分散式查詢參考物件的結構描述 (Schema) 名稱。 |
object_name |
物件名稱或資料表名稱。 |
若為分散式查詢,四部份名稱的伺服器部份是指連結的伺服器。連結的伺服器是以 sp_addlinkedserver 定義的伺服器名稱。連結的伺服器識別可傳回記錄集的 OLE DB 提供者和 OLE DB 資料來源,Microsoft SQL Server 2005 可使用此記錄集作為 Transact-SQL 陳述式的一部份。
若要決定 OLE DB 資料來源中有哪些元件使用於目錄和名稱的結構描述部份,請參閱該連結的伺服器指定之 OLE DB 提供者的說明文件。如果連結的伺服器執行 SQL Server 的執行個體,則目錄名稱是包含物件的資料庫,且結構描述為物件的擁有者。如需四部份名稱和分散式查詢的詳細資訊,請參閱<分散式查詢>。
對於遠端程序呼叫而言,四部份的名稱中伺服器部份是指遠端伺服器。以 sp_addserver 指定的遠端伺服器是透過本機伺服器存取之 SQL Server 的執行個體。請使用下列格式的程序名稱,在遠端伺服器上執行預存程序:
server.database.schema_name.procedure
使用遠端預存程序時,名稱的四個部份全部都需要。如需遠端伺服器的詳細資訊,請參閱<設定遠端伺服器>。
使用識別碼參考資料行
同一個資料表或檢視中的資料行名稱必須是唯一的。您可以使用最多三個字首在查詢中指定資料行,在這個查詢中,參考的資料表中可以具有名稱相同的資料行。可接受下列任一格式:
database_name.schema_name.object_name.column_name
database_name..object_name.column_name
schema_name.object_name.column_name
object_name.column_name
參考使用者自訂類型資料行的資料行屬性
在資料行名稱和屬性名稱之間使用句點分隔字元 (.),以此方式來參考使用者自訂類型資料行的屬性。參考屬性名稱時,您也可以參考資料表或檢視識別碼,但不能參考資料庫或結構描述識別碼。可接受下列格式:
column_name.property_name1.property_name2…
object_name.column_name.property_name1.property_name2…
請參閱
其他資源
FROM (Transact-SQL)
Transact-SQL 語法慣例 (Transact-SQL)