CMP 문

CMP 문 (CMP Statement)

CMP 문은 같은 데이터베이스나 서로 다른 데이터베이스에 있는 테이블의 데이터를 비교할 때 사용하는 HPL/SQL 확장 문이에요. 두 테이블의 행 수나 집계 값을 비교해서 데이터가 일치하는지 쉽게 확인할 수 있습니다.

출처: 문서

본문

구문 (Syntax):

총 행 수(total number of rows)를 비교하는 경우:

CMP ROW_COUNT table1 [where_clause1] | (select_stmt1) [AT conn1], 
              table2 [where_clause2] | (select_stmt2) [AT conn2]

컬럼 요약(column summary, 컬럼에 적용된 COUNT, SUM, MIN, MAX)을 비교하는 경우:

CMP SUM table1 [where_clause1] [AT conn1], table2 [where_clause2] [AT conn2]

참고 (Notes):

  • 데이터가 같으면 CMP 문은 SQLCODE를 0으로 설정해요. 데이터가 다르면 SQLCODE는 1로 설정되고, 어떤 SQL 오류가 발생하면 SQLCODE는 -1로 설정됩니다.
  • 연결 프로필(connection profile)을 지정하지 않으면, 지정된 테이블에 대해 기본 연결 프로필이 사용돼요.

예제 1 (Example 1):

행 수를 비교합니다.

CMP ROW_COUNT sales.users WHERE local_dt = CURRENT_DATE, users_daily AT mysqlconn;

예제 2 (Example 2):

두 테이블의 집계 데이터를 비교합니다.

CMP SUM sales.users WHERE local_dt = CURRENT_DATE, users_daily AT mysqlconn;

호환성 (Compatibility): HPL/SQL 확장(Extension)

더 알아보기 (Learn more)

CMP 문은 테이블 간 데이터 일치 여부를 확인할 때 유용한 HPL/SQL 전용 확장 문이에요. AT conn 절로 다른 데이터베이스 연결을 지정할 수도 있으니, 이기종 환경에서 데이터 검증을 할 때 특히 유용합니다.