Sintaxe da hierarquia de objetos (Transact-SQL)

Aplica-se a:SQL Server

O parâmetro propertyname de e e sp_OASetProperty o parâmetro methodname de oferecem suporte a uma sintaxe de hierarquia de sp_OAGetPropertysp_OAMethod objeto semelhante à do Microsoft Visual Basic. Quando essa sintaxe especial for usada, esses parâmetros têm o seguinte formato geral.

Sintaxe

TraversedObject.PropertyOrMethod

Argumentos

TraversedObject

Um objeto OLE na hierarquia sob o objecttoken especificado no procedimento armazenado. Use a sintaxe do Visual Basic para especificar uma série de coleções, propriedades de objeto e métodos que retornam objetos. Cada especificador de objeto da série deve ser separado por um ponto (.).

Um item na série pode ser o nome de uma coleção. Use esta sintaxe para especificar uma coleção:

Collection("item")

As aspas duplas (") são obrigatórias. A sintaxe de ponto de exclamação (!) do Visual Basic para coleções não é suportada.

PropertyOrMethod

O nome de uma propriedade ou método do TraversedObject.

Para especificar todos os parâmetros de índice ou método dentro dos parênteses (fazendo com que todos os parâmetros de índice ou método de sp_OAGetProperty, sp_OASetPropertyou sp_OAMethod sejam ignorados), use a seguinte sintaxe:

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

As aspas duplas (") são obrigatórias. Todos os parâmetros nomeados deverão ser especificados depois que todos os parâmetros posicionais forem especificados.

Comentários

Se TraversedObject não for especificado, PropertyOrMethod será necessário.

Se PropertyOrMethod não for especificado, o TraversedObject será retornado como um parâmetro de saída de token de objeto do procedimento armazenado de automação OLE.

Se PropertyOrMethod for especificado, a propriedade ou o método de TraversedObject será chamado. O valor da propriedade ou o valor de retorno do método é retornado como um parâmetro de saída do procedimento armazenado de automação OLE.

Se qualquer item na lista TraversedObject não retornar um objeto OLE, um erro será gerado.

Para obter mais informações sobre a sintaxe de objeto OLE do Visual Basic, consulte a documentação do Visual Basic.

Para obter mais informações sobre HRESULT códigos de retorno, consulte sp_OACreate (Transact-SQL).

Exemplos

A seguir estão exemplos de sintaxe de hierarquia de objeto que usam um 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