개체 계층 구문(Transact-SQL)
적용 대상: SQL Server
Microsoft Visual Basic과 유사한 개체 계층 구문을 지원하는 속성 이름 매개 sp_OAGetProperty
변수 및 sp_OASetProperty
메서드 이름 매개 변수 sp_OAMethod
입니다. 이 특수 구문을 사용하는 경우 이러한 매개 변수는 다음과 같은 일반 형식을 갖습니다.
구문
TraversedObject.PropertyOrMethod
인수
TraversedObject
저장 프로시저에 지정된 개체 토큰 아래 계층의 OLE 개체입니다. Visual Basic 구문을 사용하여 개체를 반환하는 일련의 컬렉션, 개체 속성 및 메서드를 지정합니다. 계열의 각 개체 지정자는 마침표(.
)로 구분해야 합니다.
계열의 항목은 컬렉션의 이름이 될 수 있습니다. 이 구문을 사용하여 컬렉션을 지정합니다.
Collection("item")
큰따옴표("
)가 필요합니다. 컬렉션에 대한 Visual Basic 느낌표(!
) 구문은 지원되지 않습니다.
PropertyOrMethod
TraversedObject의 속성 또는 메서드 이름입니다.
괄호 안의 모든 인덱스 또는 메서드 매개 변수를 지정하려면(모든 인덱스 또는 메서드 매개 변수의 sp_OAGetProperty
sp_OASetProperty
sp_OAMethod
원인이 되거나 무시됨) 다음 구문을 사용합니다.
PropertyOrMethod ( [ ParameterName := ] "parameter" [ , ... ] )
큰따옴표("
)가 필요합니다. 모든 명명된 매개 변수는 반드시 모든 위치 매개 변수가 지정된 후에 지정되어야 합니다.
설명
TraversedObject를 지정하지 않으면 PropertyOrMethod가 필요합니다.
PropertyOrMethod를 지정하지 않으면 TraversedObject가 OLE Automation 저장 프로시저에서 개체 토큰 출력 매개 변수로 반환됩니다.
PropertyOrMethod를 지정하면 TraversedObject의 속성 또는 메서드가 호출됩니다. 속성 값 또는 메서드 반환 값은 OLE Automation 저장 프로시저에서 출력 매개 변수로 반환됩니다.
TraversedObject 목록에 있는 항목이 OLE 개체를 반환하지 않으면 오류가 발생합니다.
Visual Basic OLE 개체 구문에 대한 자세한 내용은 Visual Basic 설명서를 참조하세요.
반환 코드에 대한 HRESULT
자세한 내용은 sp_OACreate 참조하세요.
예제
다음은 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