当前位置: 首页 > 知识库问答 >
问题:

将函数指定为Jooq中的值

勾炜
2023-03-14

使用Jooq,我想在作为函数插入期间指定字段的值。

在SQL Server中,等效查询为:

插入表(a, t)值('foo', SYSDATETIME())

共有1个答案

姜羽
2023-03-14

假设您正在使用生成的代码,请编写以下代码:

// Assuming this static import, as always:
import static org.jooq.impl.DSL.*;

ctx.insertInto(TABLE)
   .columns(TABLE.A, TABLE.T)
   .values(val("foo"), currentTimestamp()) // or currentLocalDateTime()
   .execute();

VALUES()子句只有2个重载:

  • 仅接受绑定变量

它没有将这两种内容混合在一起的重载,因为需要的重载将是指数级的。所以这里要做的关键是使用DSL包装绑定变量。val()显式。

另请参见此问题:如何创建字段

jOOQ通过DSL支持标准的SQL当前\u时间戳表达式。currentTimestamp()和DSL。currentLocalDateTime()。如果您喜欢使用SYSDATETIME,可以为此创建一个普通的SQL模板,或者使用DSL。function()

 类似资料:
  • 对于多个数据库(和数据库服务器),我有完全相同的数据库定义。我如何告诉Jooq使用与我创建的连接到DB的“连接”相同的数据库? 示例(对于MySQL): jdbc:mysql://localhost:3306/tsm-我的开发数据库(tsm),用于生成代码 所有3个数据库都具有相同的定义、相同的表、索引等。TSM one是我们的应用程序使用的标准。 也许我应该使用DSL。使用(连接、设置)而不是?

  • 我正在尝试编写一个类模板,在内部它使用一个函数(BFGS优化的实现,由环境提供),接口如下: 其中< code>fn和< code>gr是类型的函数指针 和 分别是。我的< code>C 类模板如下所示: 这样,它可以由任何具有两个指定成员函数的类进行实例化,例如: 这可能吗?或者也许有更好的方法来做到这一点 - 将两个成员函数分别作为函数指针传递?(如果目标函数和相应的梯度很简单,那么编写两个函

  • 一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个 指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用该函数。这种指针就是 函数指针。 函数指针的定义形式为: returnType (*pointerName)(param list); returnType

  • 问题内容: 我有一个针对SQL2005的参数化SQL查询,该查询是通过代码动态创建的,因此我使用ADO.NET类将sql参数添加到中。 在上述SQL中,我从具有默认值的表值函数中进行选择。我希望动态sql有时为这些默认参数指定一个值,而其他时候我想指定使用表值函数中定义的SQL 。 为了保持代码 整洁, 我不想动态添加SQL关键字并在使用非默认值时对其进行参数化,我只是想将其设置为my的值。 我可

  • Scala 函数 一般情况下函数调用参数,就按照函数定义时的参数顺序一个个传递。但是我们也可以通过指定函数参数名,并且不需要按照顺序向函数传递参数,实例如下: object Test { def main(args: Array[String]) { printInt(b=5, a=7); } def printInt( a:Int, b:Int ) = {

  • 问题内容: 我有一个form指令,它使用带有隔离范围的指定属性: 它位于一个内部,因此我传递的表达式包括该对象的作为回调函数的参数: 完成指令后,它会从其控制器函数中调用。在大多数情况下,这很好,这就是我想要做的,但是有时我想从自身内部添加另一个参数。 是否有一个允许这样的角度表达式:,导致用调用? 如果没有,最整洁的方法是什么? 我发现这可行: 用 和指令调用 但是我认为这不是特别整洁,它涉及在