使用 groovy sql 检查两个数据库行是否相等的最简单方法是什么

发布于 2024-12-11 04:51:01 字数 44 浏览 0 评论 0原文

是否有一种简单而简洁的方法来检查给定表的两行在所有列中是否包含相同的数据?

Is there a simple and concise way to check that two rows of a given Table contains the same data in all columns?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

緦唸λ蓇 2024-12-18 04:51:01

我还没有测试过这个,但这似乎是最明显的解决方案:

// 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)

I haven't tested this, but it seems the most obvious solution:

// 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)
情话已封尘 2024-12-18 04:51:01

不是特别是 Groovy,但我会让 SQL 做类似的事情:

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

Not especally Groovy, but I'd make SQL do the lifting a la something like:

db.firstRow("SELECT COUNT(DISTINCT CONCAT(city,state,zip)) FROM Candidates WHERE id IN (1,2)")[0] == 0
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文