본문 바로가기

ARCHIVE & ETC/DB2

DB2 데이터베이스 내에 해당 스키마 존재여부를 확인하기

해결해야 했던 문제가 생성하려는 스키마가 데이터베이스에 이미 존재할때에 예외처리가 되지 않았던 점이다.



이를 해결하기 위해 우선 특정 스키마의 테이블만을 조회할 수 있어야 했다. 


SELECT TABNAME FROM SYSCAT.TABLES WHERE TABSCHEMA = '스키마 이름' 을 통해


특정 스키마를 가진 테이블을 출력하는 것을 확인할 수 있었고,


다음단계로 특정 스키마를 가진 테이블이 존재하지 않는것을 어떻게 값으로 전달하느냐, 였는데


쿼리문의 결과값을 저장하는 ResultSet 변수 rs 에 next() 를 통해 true false 값을 반환받음으로


이를 해결할 수 있었다.


rs.next() 를 했을 때 query 결과값이 존재하면 true를, 존재하지 않으면 false 값을 반환하게 된다.



어쨌든 그래도 문제 한건을 해결했으니


이제 한 오천만개만 더 하면 되겠다