2011年2月11日金曜日

groovyとApache Derbyでテーブルのカラムを列挙する

groovyとApache Derbyでテーブルのカラムを列挙するには、以下のコードを実行します。

import groovy.sql.Sql
import java.sql.*

sql = Sql.newInstance(
"jdbc:derby:test1db",
"org.apache.derby.jdbc.EmbeddedDriver")

// カラムを列挙する
table = "EMPLOYEE"
query = """
select
col.columnname,
col.columndatatype
from
sys.systables tab
join sys.syscolumns col
on (tab.tableid = col.referenceid)
where
tab.tablename = ${table}
order by
col.columnnumber
"""
sql.eachRow(query){
println("${it.columnname}:${it.columndatatype}")
}

// シャットダウン
try
{
Sql.newInstance(
"jdbc:derby:;shutdown=true",
"org.apache.derby.jdbc.EmbeddedDriver")
}
catch(SQLException sqlex)
{
if( sqlex.getSQLState().equals("XJ015") ){
println("shutdown normally.")
}
}


動作環境
groovy 1.7.6, JDK6 Update23, Apache Derby 10.7.1.1

0 件のコメント:

コメントを投稿