DB 테이블의 컬럼명을 가져와서 camel 형식으로 바꿔 쓸 일이 있는데 일일이 desc 명령어로 가져오기 번거로워서 간만에 groovy 이용해서 짜보았습니다. 배열에 컬럼명 추출한 테이블들만 넣어주면 화면 출력 및 파일에 정보 저장하는 간단한 기능입니다. desc 명령은 기본 sql 문이 아니어서 meta.getColumnName 을 사용하는거 외에는 특이한건 없습니다 ^^;
import groovy.sql.Sql
sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1522:Test",
"scott", "tiger", "oracle.jdbc.pool.OracleDataSource")
def getMeta(file, tableName) {
String query = "select * from $tableName where 1 != 1"
println("*" * 10)
println(tableName)
println("*" * 10)
file.write("")
file << "*** $tableName ***\n"
rows = sql.rows(query, { meta ->
for (int i = 1; i <= meta.columnCount; i++) {
println meta.getColumnName(i)
file << meta.getColumnName(i) + "\n"
}
})
}
def execDesc() {
def mdmTable = ["mdm_accnt", "mdm_cnti", "mdm_vsl"] as String[]
File file = new File("D:/test.txt")
mdmTable.each {
File file = new File("D:/${it}.txt")
getMeta(file, "$it")
}
}
execDesc()
'Slack 채널 정리' 카테고리의 다른 글
DB 데이터 Kafka로 publish (0) | 2019.11.27 |
---|---|
java - snake to camel (0) | 2019.11.26 |
vim 에서 snake, camel 변환 (0) | 2019.11.26 |
여러 엑셀 파일의 sheet 통합하기 (0) | 2019.11.26 |
go template 이용한 간단한 소스 제너레이터 (0) | 2019.11.26 |