Sintassi della gerarchia di oggetti (Transact-SQL)

Si applica a:SQL Server

Il parametro propertyname di sp_OAGetProperty e sp_OASetProperty e il parametro methodname di supportano una sintassi della gerarchia di sp_OAMethod oggetti simile a quella di Microsoft Visual Basic. Quando viene adottata questa sintassi speciale, i parametri sopraindicati seguono il seguente formato generale.

Sintassi

TraversedObject.PropertyOrMethod

Argomenti

TraversedObject

Oggetto OLE nella gerarchia sotto l'oggettotoken specificato nella stored procedure. Utilizzare la sintassi di Visual Basic per specificare una serie di raccolte, proprietà oggetto e metodi che restituiscono oggetti. Ogni identificatore di oggetto nella serie deve essere separato da un punto (.).

Un elemento della serie potrebbe essere il nome di una raccolta. Per specificare una raccolta, utilizzare la seguente sintassi:

Collection("item")

Le virgolette doppie (") sono obbligatorie. La sintassi punto esclamativo (!) di Visual Basic per le raccolte non è supportata.

PropertyOrMethod

Nome di una proprietà o di un metodo dell'oggetto TraversedObject.

Per specificare tutti i parametri di indice o metodo all'interno delle parentesi (causando l'uso di tutti i parametri di indice o metodo di sp_OAGetProperty, sp_OASetPropertyo sp_OAMethod da ignorare) usare la sintassi seguente:

PropertyOrMethod ( [ ParameterName := ] "parameter" [ , ... ] )

Le virgolette doppie (") sono obbligatorie. Tutti i parametri denominati devono essere specificati dopo tutti i parametri posizionali.

Osservazioni:

Se TraversedObject non è specificato, è necessario PropertyOrMethod .

Se PropertyOrMethod non viene specificato, l'oggetto TraversedObject viene restituito come parametro di output del token di oggetto dalla stored procedure di automazione OLE.

Se si specifica PropertyOrMethod , viene chiamata la proprietà o il metodo di TraversedObject . Il valore restituito della proprietà o del metodo viene restituito come parametro di output dalla stored procedure di automazione OLE.

Se un elemento nell'elenco TraversedObject non restituisce un oggetto OLE, viene generato un errore.

Per altre informazioni sulla sintassi degli oggetti OLE di Visual Basic, vedere la documentazione di Visual Basic.

Per altre informazioni sui HRESULT codici restituiti, vedere sp_OACreate (Transact-SQL).

Esempi

Di seguito sono riportati esempi di sintassi della gerarchia di oggetti che usano un oggetto 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