2011年2月21日月曜日

groovyとApache Derbyでビュー定義を取得する

groovyとApache Derbyでビュー定義を取得するには、以下のコードを実行します。

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

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

// ビュー定義を取得する
viewName = "VIEW_EMPLOYEE"
query = """
select viewdefinition
from sys.systables tab
join sys.sysviews vw
on (tab.tableid = vw.tableid)
where tabletype = 'V'
and tablename = ${viewName}
"""
sql.eachRow(query){
println("${it.viewdefinition}")
}

// シャットダウン
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 件のコメント:

コメントを投稿