Compartir vía


Sintaxis de jerarquía de objetos (Transact-SQL)

Se aplica a: SQL Server

El parámetro propertyname de sp_OAGetProperty y y sp_OASetProperty el parámetro methodname de sp_OAMethod admiten una sintaxis de jerarquía de objetos similar a la de Microsoft Visual Basic. Cuando se utiliza esta sintaxis especial, estos parámetros tienen la forma general siguiente:

Sintaxis

TraversedObject.PropertyOrMethod

Argumentos

TraversedObject

Objeto OLE de la jerarquía bajo el objecttoken especificado en el procedimiento almacenado. Use la sintaxis de Visual Basic para especificar una serie de colecciones, propiedades de objeto y métodos que devuelven objetos. Cada especificador de objeto de la serie debe estar separado por un punto (.).

Un elemento del conjunto puede ser el nombre de una colección. Utilice esta sintaxis para especificar una colección:

Collection("item")

Se requieren comillas dobles ("). No se admite la sintaxis de signo de exclamación (!) de Visual Basic para colecciones.

PropertyOrMethod

Nombre de una propiedad o método del Objeto TraversedObject.

Para especificar todos los parámetros de índice o método dentro de los paréntesis (provocando que todos los parámetros de índice o método de sp_OAGetProperty, sp_OASetPropertyo sp_OAMethod se omitan) use la sintaxis siguiente:

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

Se requieren comillas dobles ("). Todos los parámetros con nombre deben especificarse después de especificar todos los parámetros de posición.

Comentarios

Si no se especifica TraversedObject , se requiere PropertyOrMethod .

Si no se especifica PropertyOrMethod , el objeto TraversedObject se devuelve como parámetro de salida de token de objeto del procedimiento almacenado ole Automation.

Si se especifica PropertyOrMethod , se llama a la propiedad o al método de TraversedObject . El valor de propiedad o el valor devuelto del método se devuelve como un parámetro de salida del procedimiento almacenado de OLE Automation.

Si algún elemento de la lista TraversedObject no devuelve un objeto OLE, se genera un error.

Para obtener más información sobre la sintaxis de objetos OLE de Visual Basic, consulte la documentación de Visual Basic.

Para obtener más información sobre HRESULT los códigos de retorno, consulte sp_OACreate.

Ejemplos

A continuación se muestran ejemplos de sintaxis de jerarquía de objetos que usan un objeto 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