Partilhar via


Sintaxe da hierarquia de objetos (Transact-SQL)

Aplica-se a:SQL Server

O parâmetro propertyname de sp_OAGetProperty e sp_OASetProperty e o parâmetro methodname de suportam uma sintaxe de hierarquia de sp_OAMethod objetos semelhante à do Microsoft Visual Basic. Quando essa sintaxe especial é usada, esses parâmetros têm a seguinte forma 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 na série deve ser separado por um ponto (.).

Um item da 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 do 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 devem ser especificados depois que todos os parâmetros posicionais são especificados.

Observações

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 método do 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 algum 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

A seguir estão exemplos de sintaxe de hierarquia de objetos que usam um objeto SQLServer SQL-DMO.

-- Get the AdventureWorks2022 Person.Address Table object.
EXECUTE @hr = sp_OAGetProperty @object,
    'Databases("AdventureWorks2022").Tables("Person.Address")',
    @table OUTPUT;

-- Get the Rows property of the AdventureWorks2022 Person.Address table.
EXECUTE @hr = sp_OAGetProperty @object,
    'Databases("AdventureWorks2022").Tables("Person.Address").Rows',
    @rows OUTPUT;

-- Call the CheckTable method to validate the
-- AdventureWorks2022 Person.Address table.
EXECUTE @hr = sp_OAMethod @object,
    'Databases("AdventureWorks2022").Tables("Person.Address").CheckTable',
    @checkoutput OUTPUT;