gpt4 book ai didi

spring - 忽略结果执行一个函数

转载 作者:行者123 更新时间:2023-11-29 12:15:51 24 4
gpt4 key购买 nike

在我的 JDBC 模板中,我想对某些行执行 PostgreSQL 函数。目前,我这样做:

JdbcTemplate t = ...;
String q = "select my_function(table.identifier) from table where ...`;
template.query(q, new Object[]{...}, result -> null);

这里 result -> null 是一个 ResultSetExtractor,它只是忽略结果集和结果 null。我这样做是因为我并不真正关心 my_function 函数的结果。我只想对选定的行执行它。

有没有更简洁的方法来做到这一点?虽然它工作得很好,但它有点 hackisch,至少在我看来是这样。

最佳答案

如果您想完全避免将结果发送给客户端,请在 DO 语句中使用 PL/pgSQL 的 PERFORM:

DO $$BEGIN PERFORM myfunction(...) FROM ...; END;$$;

您只需将 PERFORM 放在通常编写 SELECT 的位置即可。

我承认这也是一种 hack,但至少它具有明显的性能优势。

关于spring - 忽略结果执行一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54987463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com