2009年10月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")

query = """
select
obj.name as table_name,
kc.name,
kc.is_system_named
from sys.key_constraints kc
join sys.objects obj
on (kc.parent_object_id = obj.object_id)
order by 1,2
"""
sql.eachRow(query){
// テーブル名
println("table_name:${it.table_name}")
// キー制約名
println("name:${it.name}")
// システムにより生成された名前か
println("is_system_named:${it.is_system_named}")
println "----"
}


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

関連情報
sys.key_constraints (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms174321.aspx

0 件のコメント:

コメントを投稿