2013-08-27 3 views
0

메신저 오라클과 SQL에 익숙하지만이 작업이 할당되었으므로 다른 사람이 나를 도와 줄 수 있기를 바랍니다.두 개의 다른 테이블에 데이터 스택이 있는지 비교

기본적으로 데이터베이스 링크를 사용하여 원격 데이터베이스에 연결하고 거기에있는 단일 테이블과 로컬 데이터베이스의 다른 테이블에서 정보를 추출한 다음이를 처리하여 로컬 데이터베이스. 나는 이것을 성공적으로 수행 할 수 있었지만 이제 원격 데이터베이스의 모든 데이터가 실제로 로컬 데이터베이스에 복사되었는지 확인하는 방법이 필요합니다. 이 일을 어떻게 하죠?

이것은 내 로컬 db에 정보를 삽입해야하는 코드입니다. KCRT_REQUESTS_INT이 @ XXXXX가 v_projects 모든 행이있는 경우

INSERT INTO kcrt_requests_int RI 
    RI.TRANSACTION_ID, 
    RI.DESCRIPTION, 
    RI.CREATED_USERNAME, 
    RI.REQUEST_TYPE_ID, 
    RI.STATUS_ID, 
    RI.WORKFLOW_ID, 
    RI.WORKFLOW_STEP_ID, 
    RI.RELEASED_FLAG, 
    RI.USER_DATA1, 
    RI.USER_DATA2, 
    RI.USER_DATA3, 
    RI.USER_DATA4, 
    RI.USER_DATA7) 

SELECT 
    KCRT_TRANSACTIONS_S.NEXTVAL, 
    RD.PARAMETER13||' '||R.DESCRIPTION, 
    '[SYS.USERNAME]', 
    '0001', 
    '31876', 
    '34987', '1234', 
    'Y', 
    PP.PROJECT_ID, 
    VP.REVIEWDATE, 
    RD.PARAMETER9, 
    R.REQUEST_ID, 
    RD.PARAMETER13 

FROM 
    KCRT_REQUEST_TYPES_NLS RT, 
    KCRT_REQUESTS R, 
    KCRT_REQUEST_DETAILS RD, 
    [email protected] VP, 
    PM_PROJECTS PP 


WHERE 
    R.REQUEST_TYPE=RT.REQUEST_TYPE_ID 
    AND R.REQUEST_ID=RD.REQUEST_ID 
    AND RD.BATCH_NUMBER=1 
    AND RT.REQUEST_TYPE_NAME 'AAAAA' 
    AND R.STATUS_CODE = 'BBBBB' 
    AND RD.PARAMETER13 = to_char(VP.IDBANK) 
    AND VP.REVIEWDATE=(SELECT MAX (VP.REVIEWDATE) FROM [email protected] VP) 
    AND R.REQUEST_ID=PP.PFM_REQUEST_ID 
    AND RD.BATCH_NUMBER=1 

그래서 꽤 많이 나는 VP.IDBANK에 RI.USER_DATA7을 비교하고 볼을 시도합니다.

도움 주셔서 감사합니다.

+2

쿼리를 분석해야하는 것보다 시간이 오래 걸리기 때문에 테이블의 특성을 알 수는 없지만 일반적으로 두 테이블을이 두 쿼리와 비교할 수 있습니다. 'SELECT * FROM TableA MINUS SELECT * FROM TableB'는'TableB'에없는'TableA'의 행을 나열하고'SELECT * FROM TableB MINUS SELECT * FROM TableA'는'TableA'에없는'TableB' 행을 나열합니다. 희망이 도움이됩니다. –

답변

0

기본 키로 정의 된 고유 식별자 열이있는 경우 기본 키에 두 테이블을 조인하고 원본 테이블에서 조인하지 않고 개수와 일치하는지 확인할 수 있습니다.

으로 가정하면 표 A가 원본이고 표 B는 데이터를로드 한 곳입니다. P_key를 기본 키 열로 지정하십시오.

당신은 일치 할 수

select count(1) 
from Table_A with 

select count (1) 
from Table_A,Table_B 
where Table_A.P_key=Table_B.P_Key 

가 일치하는 경우, 당신은 모든 기록을 가지고있다. 희망이 도움이됩니다.

관련 문제