테이블 내용 비교 쿼리

by kay posted Jun 05, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

두 디비간에 테이블명이 같은 녀석들중에 

컬럼명 , 기본값 , 데이터타입 , 최대길이 등이 다른 경우를 찾아내기...

left right join하면서 비교해서 다른 부분을 찾아냅니다..



 SELECT A.table_name AS 테이블명, A.column_name AS 컬럼명, A.column_default AS 기본값, A.data_type AS 데이터타입, A.character_maximum_length AS 최대길이,
         B.column_name AS 컬럼명, B.column_default AS 기본값, B.data_type AS 데이터타입, B.character_maximum_length AS 최대길이
         FROM 다른디비.information_schema.columns A LEFT OUTER JOIN information_schema.columns B
             ON A.table_name = B.table_name AND A.column_name = B.column_name
                    WHERE  (B.column_name is NULL OR B.column_name = ''
                              OR A.column_default <> B.column_default
                              OR A.data_type <> B.data_type OR B.table_name is NULL
                              OR A.character_maximum_length<>B.character_maximum_length)
                    ORDER BY A.table_name, A.column_name