초기 출처는 기억이 잘 안나네요. 몇년전쯤 인터넷에서 찾았던 것 같습니다.(문제될 경우 연락주시면 삭제하겠습니다.) 이후 이것저것 수정해서 사용해왔고 현 시점에서 아래 최종본으로 공유합니다. 2000 버전과 2005버전으로 구분되어 있으나 크게 다른바가 없어서 문제 없이 작동합니다.
A 와 B 두 데이터베이스의 테이블 및 컬럼속성(데이터 타입 , 길이)를 비교하는 쿼리 입니다.
두 데이터 베이스간의 데이터 동기화를 위해 비교하기 위해 사용.
그때 그때 코딩하거나 찾아보기 귀찮기 때문에
블로그에 포스팅 해둠!
select A.table_name,
A.column_name,
A.column_default,
A.data_type,
A.character_maximum_length,
B.column_name,
B.column_default,
B.data_type,
B.character_maximum_length
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 ) -- and (A.table_name like '%테이블 이름%' or A.table_name = '테이블 이름')
order by A.table_name, A.column_name