데이터 셰이핑 예제
다음 데이터 셰이핑 명령은 Northwind 데이터베이스의 Customers 및 Orders 테이블에서 계층적 Recordset 빌드하는 방법을 보여 줍니다.
SHAPE {SELECT CustomerID, ContactName FROM Customers}
APPEND ({SELECT OrderID, OrderDate, CustomerID FROM Orders} AS chapOrders
RELATE customerID TO customerID)
이 명령을 사용하여 Recordset 개체(Visual Basic Example of Data Shaping)를 열면 Customers 테이블에서 반환된 각 레코드에 대한 챕터(chapOrders)가 만들어집니다. 이 장에서는 Orders 테이블에서 반환된 Recordset 하위 집합으로 구성됩니다. chapOrders 챕터에는 지정된 고객이 주문한 주문에 대한 요청된 모든 정보가 포함되어 있습니다. 이 예제에서 챕터는 세 개의 열로 구성됩니다. OrderID, OrderDate및 CustomerID.
형성된 레코드셋의 처음 두 항목은 다음과 같습니다.
고객ID | 연락처이름 | 주문번호 | 주문일자 | 고객ID |
---|---|---|---|---|
ALFKI | 마리아 앤더 | 10643 10692 10702 10835 10952 11011 |
1997-08-25 1997-10-03 1997-10-13 1998-01-15 1998-03-16 1998-04-09 |
ALFKI ALFKI ALFKI ALFKI ALFKI ALFKI |
ANATR | 아나 트루히요 | 10308 10625 10759 10926 |
1996-09-18 1997-08-08 1997-11-28 1998-03-04 |
ANATR ANATR ANATR ANATR |
SHAPE 명령에서 APPEND는 RELATE 절에서 부모 Recordset 관련된 자식 Recordset 만드는 데 사용됩니다(앞에서 설명한 SHAPE 키워드 바로 뒤에 공급자별 명령에서 반환됨). 일반적으로 부모 및 자식의 공통 열은 하나 이상 있습니다. 부모 행의 열 값은 자식의 모든 행에 있는 열 값과 같습니다.
SHAPE 명령을 사용하는 두 번째 방법은 자식 Recordset를 통해 부모 Recordset 을 생성하는 것입니다. 자식 Recordset 레코드는 일반적으로 BY 절을 사용하여 그룹화되며, 자식의 각 결과 그룹에 대한 부모 Recordset 한 행이 추가됩니다. BY 절을 생략하면 자식 Recordset 단일 그룹을 구성하고 부모 Recordset 정확히 하나의 행을 포함합니다. 이는 "총합계" 집계를 전체 자식 레코드셋에 대해 계산하는 데 유용합니다.
SHAPE 명령문을 사용하면 형태의 Recordset을 프로그래밍 방식으로 생성할 수도 있습니다. 그런 다음 프로그래밍 방식으로 또는 적절한 시각적 컨트롤을 통해 Recordset 구성 요소에 액세스할 수 있습니다. 셰이프 명령은 다른 ADO 명령 텍스트와 같이 실행됩니다. 자세한 내용은 일반 셰이프 명령을 참조하세요.
부모 Recordset은 어떻게 구성되는지에 관계없이, 자식 Recordset와 연관시키는 데 사용되는 장 열을 포함합니다. 원한다면, 부모 Recordset 에는 자식 행에 대한 집계(SUM, MIN, MAX 등)가 포함된 열을 추가할 수 있습니다. 부모와 자식 Recordset 모두 Recordset행에 식이 들어 있는 열과 처음에는 비어 있는 신규 열을 포함할 수 있습니다.
이 섹션은 다음 항목을 계속 진행합니다.