2016-09-14 13 views
0

데이터베이스로 SAP HANA를 사용합니다.데이터베이스 테이블 내용 비교

두 테이블의 내용이 동일한 지 어떻게 비교할 수 있습니까?

select COUNT (*) from Schema.table1; 
select COUNT (*) from Schema.table2; 
select COUNT (*) 
    from Schema.table1 p 
    join schema.table2 r 
    on p.keyPart1 = r.keyPart1 
    and p.keyPart2 = r.keyPart2 
    and p.keyPart3 = r.keypart3; 

그래서 내가 두 테이블과 조인의 행을 비교 :

은 이미 SQL을 사용하여 기본 키를 비교했다. 모든 행 수는 동일합니다.

그러나 모든 행의 내용이 정확히 같은지 아직 알 수 없습니다. 키가 아닌 열의 셀이 하나 이상 벗어 났을 수 있습니다.

나는 모든 컬럼을 join 문에 두는 것에 대해 생각했다. 그러나 그것은 옳다고 생각하지 않았습니다.

답변

1

당신은이 설정 작업에 따라 의미 정답 except

SELECT * FROM A 
EXCEPT 
SELECT * FROM B; 

SELECT * FROM B 
EXCEPT 
SELECT * FROM A; 
+0

사용할 수도 있습니다. 실용적인 목적을 위해 - 특히 더 큰 데이터 세트 - 이것은 자원 집약적 인 방법입니다. 또한 이러한 쿼리를 실행하고 실제로 일치하지 않는 레코드를 찾을 때 어떤 테이블이 올지 알 수 없습니다. SAP Solution Manager (추가 SAP 제품)는 블록 단위 레코드 집합 비교를 수행하고 차이가 발생한 지점을 파악할 수있는 기능을 제공합니다. –