物件階層語法 (Transact-SQL)
適用於:SQL Server
和 sp_OASetProperty
的 sp_OAGetProperty
propertyname 參數,以及 的 methodname 參數sp_OAMethod
,支援與 Microsoft Visual Basic 類似的物件階層語法。 使用此特殊語法時,這些參數具有下列一般格式。
語法
TraversedObject.PropertyOrMethod
引數
TraversedObject
預存程式中指定之 objecttoken 之階層中的 OLE 物件。 使用 Visual Basic 語法來指定一系列傳回物件的集合、物件屬性和方法。 數列中的每個物件規範都必須以句號 (.
) 分隔。
數列中的專案可以是集合的名稱。 使用此語法來指定集合:
Collection("item")
需要雙引號 ("
) 。 不支援集合的Visual Basic驚嘆號 (!
) 語法。
PropertyOrMethod
TraversedObject 的屬性或方法名稱。
若要在括弧內指定所有索引或方法參數(導致、 sp_OASetProperty
sp_OAMethod
或 的所有索引或方法參數sp_OAGetProperty
被忽略),請使用下列語法:
PropertyOrMethod ( [ ParameterName := ] "parameter" [ , ... ] )
需要雙引號 ("
) 。 所有具名參數都必須在指定所有位置參數之後指定。
備註
如果未 指定 TraversedObject , 則需要 PropertyOrMethod 。
如果未 指定 PropertyOrMethod , 則會從 OLE Automation 預存程式傳回 TraversedObject 做為物件令牌輸出參數。
如果指定 PropertyOrMethod,則會呼叫 TraversedObject 的屬性或方法。 屬性值或方法傳回值會當做 OLE Automation 預存程式的輸出參數傳回。
如果 TraversedObject 清單中的任何專案未傳回 OLE 物件,就會引發錯誤。
如需 Visual Basic OLE 物件語法的詳細資訊,請參閱 Visual Basic 檔。
如需傳回碼的詳細資訊 HRESULT
,請參閱 sp_OACreate (Transact-SQL) 。
範例
以下是使用 SQL-DMO SQLServer 對象的物件階層語法範例。
-- Get the AdventureWorks2022 Person.Address Table object.
EXEC @hr = sp_OAGetProperty @object,
'Databases("AdventureWorks2022").Tables("Person.Address")',
@table OUT
-- Get the Rows property of the AdventureWorks2022 Person.Address table.
EXEC @hr = sp_OAGetProperty @object,
'Databases("AdventureWorks2022").Tables("Person.Address").Rows',
@rows OUT
-- Call the CheckTable method to validate the
-- AdventureWorks2022 Person.Address table.
EXEC @hr = sp_OAMethod @object,
'Databases("AdventureWorks2022").Tables("Person.Address").CheckTable',
@checkoutput OUT
相關內容
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: