2009年11月8日日曜日

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
tb.name as table_name,
st.name AS stats_name,
STATS_DATE(st.object_id, st.stats_id) as stats_update_date
from
sys.stats st
join sys.tables tb
on (st.object_id = tb.object_id)
order by 1,2
"""
sql.eachRow(query){
// テーブル名
println("table_name:${it.table_name}")
// 統計名
println("stats_name:${it.stats_name}")
// 統計最終更新日
println("stats_update_date:${it.stats_update_date}")
println "----"
}


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

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

STATS_DATE (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms190330.aspx

0 件のコメント:

コメントを投稿