2009年11月16日月曜日

groovyとoracleでインデックスのカラム一覧を表示する

groovyとoracleでインデックスのカラム一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:oracle:thin:@localhost:1521:orcl",
"scott",
"tiger",
"oracle.jdbc.driver.OracleDriver")

index_name = "PK_EMP"
query = """
select * from all_ind_columns
where index_name = ${index_name}
order by column_position
"""
// インデックスのカラム一覧
sql.eachRow(query){
// オーナ名
println("index_owner:${it.index_owner}")
// インデックス名
println("index_name:${it.index_name}")
// テーブルオーナ名
println("table_owner:${it.table_owner}")
// テーブル名
println("table_name:${it.table_name}")
// カラム名
println("column_name:${it.column_name}")
println "----"
}


動作環境
Groovy 1.6.4, JDK6 Update16, Oracle11g R1

関連情報
ALL_IND_COLUMNS
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_1090.htm#sthref1135

0 件のコメント:

コメントを投稿