Java jooq从表的特定分区中进行选择
在表的特定分区上执行select查询的正确方法是什么。对于exmample,我有一个在特定列上进行范围分区的employees表 目前我有:Java jooq从表的特定分区中进行选择,java,jooq,Java,Jooq,在表的特定分区上执行select查询的正确方法是什么。对于exmample,我有一个在特定列上进行范围分区的employees表 目前我有: Result<Record> fetch = DSL.using(configuration()) .select() .from(EMPLOYEES) .fetch(); 更新1 当我使用可更新记录时,更新/插入的情况如何,例如: employeeRecord.attach(configuration()) employeeRe
Result<Record> fetch = DSL.using(configuration())
.select()
.from(EMPLOYEES)
.fetch();
更新1
当我使用可更新记录时,更新/插入的情况如何,例如:
employeeRecord.attach(configuration())
employeeRecord.update(); // or insert
我假设我可以做类似的事情,但那会处理乐观锁的情况吗(我通过表上的version列使用乐观锁)
你有没有试着用这里的例子,比如
create.select(t.BOOKED_AT, t.AMOUNT,
sum(t.AMOUNT).over().partitionByOne()
.orderBy(t.BOOKED_AT)
jOOQ目前不支持表上的
分区
子句。相关功能请求为:
通过使用普通SQL模板API,您可以轻松克服此限制:
Result fetch=DSL.using(configuration())
.选择()
.from(“{0}分区(p2)”,雇员)
.fetch();
以上是为了方便:
Result fetch=DSL.using(configuration())
.选择()
.from(DSL.table(“{0}分区(p2)”,EMPLOYEES))
.fetch();
OP询问有关查询分区表的问题,这与窗口函数完全不同(尽管使用相同的关键字)。啊,我的错。我不确定jooq是否应该对此提供本机支持,因为它完全依赖于Oracle。谢谢你的正确答案!我没有检查过其他数据库,但至少DB2和PostgreSQL也支持分区表。我认为支持此特定于供应商的功能没有问题,不过,这可能不是优先考虑的问题。感谢这项工作,更新了可更新记录的问题case@anuj:您介意再次删除更新并提出新问题吗?我不确定这些事情是否有严格的联系。堆栈溢出不会很快用完毫无疑问的ID:-)
DSL.using(configuration())
.update("{0} partition (p2)", EMPLOYEES)
.set(EMPLOYEES.NAME, "abc")
.where(EMPLOYEES.ID.eq(123))
.execute();
create.select(t.BOOKED_AT, t.AMOUNT,
sum(t.AMOUNT).over().partitionByOne()
.orderBy(t.BOOKED_AT)