Partilhar via


Sintaxe da hierarquia de objetos (Transact-SQL)

Aplica-se: SQL Server

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

Sintaxe

TraversedObject.PropertyOrMethod

Argumentos

Objeto Atravessado

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 na 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. Não há suporte para a sintaxe de ponto de exclamação (!) do Visual Basic para coleções.

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_OASetProperty, ou 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 do TraversedObject será chamado. O valor da propriedade ou o valor retornado do método é retornado como um parâmetro de saída do procedimento armazenado da 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 do 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.

Exemplos

Veja a seguir exemplos de sintaxe de hierarquia de objetos 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