我想将Postgres数据库表与Jooq记录列表同步。
我有一个包含复合主键和每行中其他三个值的表
table(k1, k2, v1, v2, v3)
例如,数据可能是
Last, First, Age, Weight, Height
Smith, Joe, 21, 75, 160
Jones, Pete, 23, 80, 180
(请使用名称作为主键的不良形式。。。)
我的Java代码中也有该表的Jooq记录列表。假设有两个Java记录
[
<Smith, Joe, 21, 75, 180>,
<Taylor, Mark, 54, 90, 170>
]
我想发生的是当我运行一些代码时,
我设法创建了一个执行前两部分的功能,但是卡在了第三部分上。我希望在JOOQ中有一个非常简单的“一个班轮”,基本上
delete
from my_table
where (first, last) not in (values ('Joe', 'Smith'), ('Mark', 'Taylor'))
但我无法计算出相应的Java代码来做到这一点。
有任何Jooq大师在阅读此书吗?
我有明显的事情要注意吗?
您的查询可以转换为以下jOOQ代码:
// Assuming this:
import static org.jooq.impl.DSL.*;
using(configuration)
.deleteFrom(MY_TABLE)
.where(row(MY_TABLE.FIRST, MY_TABLE.LAST).notIn(
row("Joe", "Smith"),
row("Mark", "Taylor")
))
.execute();
这DSL.row()
用于构造行值表达式。请注意,这ROW
是PostgreSQL中的可选关键字。您只是在您的SQL示例中忽略了它。
另请参见手册中有关IN
度数大于1的谓词的部分:
http://www.jooq.org/doc/latest/manual/sql-building/conditional-
expressions/in-predicate-degree-n
我想将postgres数据库表与Jooq记录列表同步。 我有一个表,每行有一个复合主键和三个其他值 例如,数据可能是 (请原谅将名称用作主键的糟糕形式……) 在java代码中,我还有一个该表的Jooq记录列表。假设有两个java记录 我想要的是当我运行一些代码时, Joe Smith的数据库行的高度已更新 为Mark Taylor插入新行 删除了Pete Jones的数据库行 我已经成功地创建了一
有没有办法在Firebase中执行原子删除? 医生说 您还可以通过将nil指定为另一个写入操作(如setValue或updateChildValues)的值来删除。。。以这种方式进行的同步更新是原子性的:要么所有更新都成功,要么所有更新都失败。 但我无法让它工作。我下面的代码返回错误 无法在处存储类型为\u SwiftValue的对象。只能存储NSNumber、NSString、NSDiction
本文向大家介绍使用MySQL WHERE子句中的多个值进行更新,包括了使用MySQL WHERE子句中的多个值进行更新的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 这是使用WHERE子句中的多个值更新的查询- 让我们再次检查表记录- 这将产生以下输出-
我正在学习MapReduce,我想读取一个输入文件(逐句)并将每个句子写入一个输出文件,前提是它不包含单词“snake”。 例如。输入文件: 则输出文件应为: 为此,我在< code>map方法中检查句子(< code>value)是否包含单词snake。如果句子中不包含snake单词,那么我将在< code>context中书写该句子。 此外,我将化简器任务的数量设置为0,否则在输出文件中,我以
我有一个表订阅,我想在一个连接中用JOOQ编写多个selectCount,并用不同的谓词连接到数据库。为此,我创建了一个查询列表: 最后,我使用批处理启动了这个查询列表: 我原本希望在执行的返回值中包含上述查询的结果,但我得到了一个整数数组,其中填充了0个值。 这是使用JOOQ运行多个的正确方法吗?方法返回的整数数组的含义是什么? 我在JOOQ博客中查看了这个链接,讨论了“如何在一个查询中计算多个
我在表,中有两列,它们都是唯一的索引(col1是唯一的,col2也是唯一的)。 我需要在插入到这个表,使用语法和更新其他列,但我不能在子句中使用这两个列。 它的工作原理: 但是如何在几个列中做到这一点,就像这样: