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 件のコメント:
コメントを投稿