예제: TempTable 및 OutputTempTable 토큰 사용
이 예제는 원시 SQL 쿼리에서 TempTable 및 OutputTempTable 토큰을 사용하는 방법을 표시합니다.
"Gold" 고객인 10,000명의 고객을 선택하는 Select1 프로세스가 있다고 가정하십시오(예: Indiv.AcctType = 'Gold'). 그런 후 다음과 같은 원시 SQL 쿼리를 사용하여 Select1을 두 번째 선택 프로세스("Select2")에 연결합니다.
Select p.CustID from Indiv p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500
이 예제는 구매 합계가 $500를 초과하고 입력 셀에 있는 고객(즉 "Gold" 계정 유형인 고객)을 선택합니다.
반면에 <TempTable> 토큰과 결합을 생략한 원시 SQL 쿼리:
Select p.CustID from Purchases p group by p.CustID having sum(p.PurchAmt) > 500
구매 테이블에 있는 모든 고객(수백만 명의 고객이 될 수 있음)의 구매 합계를 먼저 계산한 다음 "Gold" 고객인지 여부에 관계없이 구매 합계가 $500를 초과하는 모든 고객을 선택합니다.
그러므로 모범 사례의 경우 in-DB 최적화가 사용 안함으로 설정된 경우에도 입력 셀이 있는 경우 <TempTable> 토큰을 사용하여 원시 SQL 쿼리를 씁니다.
간단히 하기 위해 이 예제에서는 <OutputTempTable> 토큰을 사용하지 않지만 in-DB 최적화를 유지하고 대상 ID가 데이터베이스에서 Campaign 서버로 다시 검색되지 않도록 원시 SQL 쿼리에 <OutputTempTable> 토큰을 포함시켜야 합니다. 예:
Create table <OutputTempTable> as Select p.CustID from Purchases p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500