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

使用Oracle更新返回子句

雷方伟
2023-03-14

共有1个答案

高锦
2023-03-14

您是对的-手册是错误的,应该修正:
https://github.com/jooq/jooq/issues/5470

jOOQ 3.8增加了对单行<代码>更新的支持。返回语句。在内部,它使用CallableStatement和PL/SQL块,其形式如下:

begin
  update "MY_TABLE"
  set "MY_TABLE"."COLUMN" = 'XYZ'
  where "MY_TABLE"."ID" = 1
  returning 
    "MY_TABLE"."ID", 
    "MY_TABLE"."COLUMN"
  into ?, ?;
  ? := sql%rowcount;
end;

相关问题是:
https://github.com/jooq/jooq/issues/5190

 类似资料:
  • 问题内容: 我将Java 8与Spring’s 和Oracle 12.1结合使用, 我想更新记录并获取更新的确切时间记录 当前它返回(int)受影响的行数,但是我想要确切的更新日期 我是否必须发送新请求以获取可能不正确的当前时间? 更确切的是将更新日期保存在列中,然后执行另一个SQL 是否有另一个选项可在一个查询中获取更新日期? 显然,我也不想使用从代码获取日期(如),因为服务器时间与数据库时间不

  • 问题内容: 我想从已更新的行中获取列的OLD值-无需使用触发器(也无需使用存储过程,也无需使用任何其他额外的非-SQL / -query实体)。 我有这样的查询: 如果我可以在子查询的末尾做这件事,那真是太了不起了(并解决了我的其他问题/问题)。但这是行不通的:不能将其与GROUP BY(这对于计算计数是必需的)结合使用。然后,我可以采用那些的值,并先执行查询以获取(即将被)以前的processi

  • 问题内容: 我试图在扭曲的python中结合这两个查询: 和: 进入单个查询。有可能这样做吗? 我尝试将SELECT放在子查询中,但我不认为整个查询都会返回我想要的内容。 有没有办法做到这一点?(甚至更好,没有子查询)还是只需要坚持两个查询? 谢谢, 泉 问题答案: 您不能直接合并这些查询。但是您可以编写一个存储过程来执行两个查询。例:

  • 我正在创建一个递归导航迷宫的程序。代码: 然而,每当我到达死胡同时,它都不会回溯。当我调试时,它表明当程序从递归或“回溯”返回时,我的起始值专注于停留在我的死胡同空间。 例如: 9是我的出发点。2是我的退出。4是我的道路。1 表示墙壁。当我到达一个死胡同时(在本例中为第 7 行,第 2 列)。我的立场是等于整个程序其余部分的死胡同空间。这是为什么呢?

  • 问题内容: 我的结构表如下: 我需要使用一条语句一次更新三行,以便第二列分别为5、3、2。 我使用以下查询,但似乎缺少一些内容 我的问题是这样吗?如果没有,我可以使用语句吗?或者我只能选择在一个语句中使用它来实现这一点? 请注意,这是为了 问题答案: 好吧,根据您给的小提琴,我尝试了这些,对我有用 我没有使用where条件

  • 问题内容: 我正在尝试更新列中的所有记录,以便它们以“ CD”开头,例如DCE206将变为CDE206。 我正在使用上面的更新语句,但是出现以下错误 ‘子查询返回了1个以上的值。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,这是不允许的。 我可以在语句中进行任何更改以实现此目的,还是需要使用游标进行调查。 我正在使用SQL Server 2000。 问题答案: 您不可能从该代码