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_OASetProperty
o 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.
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