2009年9月30日水曜日

groovyとSQL Serverでカラム情報を表示する

groovyとSQL Serverでカラム情報を表示するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test1",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

table = "department"
query = "select\
columns.name, \
types.name as column_type,\
columns.max_length,\
columns.precision,\
columns.scale,\
columns.is_nullable \
from\
sys.tables\
join sys.columns\
on (tables.object_id = columns.object_id)\
join sys.types\
on (columns.user_type_id = types.user_type_id)\
where\
tables.name = ${table}"

sql.eachRow(query){
// カラム名
println "name:${it.name}"
// 型名
println "column_type:${it.column_type}"
// 列の最大長
println "max_length:${it.max_length}"
// 有効桁数
println "precision:${it.precision}"
// 小数点以下桁数
println "scale:${it.scale}"
// NULLが使用可能か
println "is_nullable:${it.is_nullable}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sys.columns
http://msdn.microsoft.com/ja-jp/library/ms176106.aspx

0 件のコメント:

コメントを投稿