2010年1月2日土曜日

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_name = 'company_dept'
query = """
exec sp_pkeys @table_name = ${table_name}
"""
// テーブルのプライマリーキーの情報を取得
sql.eachRow(query){
// テーブルオーナー
println("table_owner:${it.table_owner}")
// テーブル名
println("table_name:${it.table_name}")
// カラム名
println("column_name:${it.column_name}")
// キーシーケンス
println("key_seq:${it.key_seq}")
// PK名
println("pk_name:${it.pk_name}")
println "----"
}


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

関連情報
sp_pkeys (Transact-SQL)

0 件のコメント:

コメントを投稿