如何在SpringJPA、原生查询和DB2中使用函数say digits

guykilcj  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(155)

我希望能够使用这个函数,他们传递参数。但我得到这个错误,这几乎是Spring的jpa或java准备语句不允许我这样做。
日志中的代码如下所示。

Hibernate: UPDATE DB2PROD.GLOBAL_TABLE

设置合同标识=数字(?),其中全局标识=?

@Query(value = "UPDATE DB2PROD.GLOBAL_TABLE \n" +
        " SET CONTRACT_ID = DIGITS( :indicator ) \n" +
        "   WHERE GLOBAL_ID = :id ", nativeQuery = true)
int update(final Integer indicator, final String id);

和错误:
2022-03-11 15:54:25.982警告95241 --- [调度-1]操作系统引擎.jdbc.spi. SqlException帮助程序:SQL错误:-418,SQL状态:错误代码:95241 --- [调度-1]操作系统引擎.jdbc.spi. SqlException帮助程序:DB2 SQL错误:如果您有任何问题,请与我们联系。如果您有问题,请与我们联系。SQL错误:-516,SQL状态:错误代码:95241 --- [调度-1]操作系统引擎。jdbc。spi。SqlException帮助程序:DB2 SQL错误:如果您有任何问题,请与我们联系。如果您有问题,请与我们联系。SQL错误:-518,SQL状态:错误代码:07003 2022-03-11 15:54:25.983错误95241 --- [调度-1]操作引擎.jdbc.spi. SqlException帮助程序:DB2 SQL错误:如果您有任何问题,请与我们联系。如果您有问题,请与我们联系。保存联系人时出错

woobm2wo

woobm2wo1#

Db2无法确定DIGITS (?)表达式中参数的数据类型。
您必须使用CAST明确定义它,例如:
DIGITS (CAST (? AS INT))

DIGITS (CAST (? AS DEC (5)))
等等。

相关问题