2011-10-20 10 views
0

与えられたテーブルの2つの行にすべての列の同じデータが含まれていることを確認する簡単で簡潔な方法はありますか?groovy sqlを使用して2つのdb行が等しいかどうかを確認する最も簡単な方法

+0

をhttps://gist.github.com/272110にはdbunitの例がありますが、純粋なgroovyのSQLはありません –

+0

2つの行があり、それらを比較したいのですか、データベーステーブルの重複する行をすべて探したいのですか? –

+0

@tim_yates私は2つの行があり、それらを比較したいです –

答えて

1

を:

// get an Sql instance 
def db = [url:'jdbc:hsqldb:mem:testDB', user:'sa', password:'', 
    driver:'org.hsqldb.jdbcDriver'] 
def sql = Sql.newInstance(db.url, db.user, db.password, db.driver) 

// Get 2 rows 
GroovyRowResults row1 = sql.firstRow("select * from user where id = 4") 
GroovyRowResults row2 = sql.firstRow("select * from user where email = '[email protected]'") 

// compare them 
boolean identical = row1.equals(row2) 
0
especally

ないGroovyのが、私はSQLを作ると思いやるのようなラ何かを持ち上げる:私はこれをテストしていませんが、それは最も明白な解決策と思われる

db.firstRow("SELECT COUNT(DISTINCT CONCAT(city,state,zip)) FROM Candidates WHERE id IN (1,2)")[0] == 0 
関連する問題