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