首页 > 解决方案 > DB2 Update 语句在使用 JDBC 时不起作用

问题描述

我有几行存储在源表中(如$schema.$sourceTable下面的 UPDATE 查询中所定义)。该表有 3 列:TABLE_NAME, PERMISSION_TAG_COL,PT_DEPLOYED

我有一个更新语句存储在一个字符串中,如:

var update_PT_Deploy = s"UPDATE $schema.$sourceTable SET PT_DEPLOYED = 'Y' WHERE TABLE_NAME = '$tableName';"

我的源表确实有带有TABLE_NAMEas $tableName(参数)的行,因为我使用程序的另一个函数将行插入到该表中。当我插入行时,PT_DEPLOYED 的默认值被指定为 NULL。

我正在尝试以下列方式使用 JDBC 执行更新:

println(update_PT_Deploy)
val preparedStatement: PreparedStatement = connection.prepareStatement(update_PT_Deploy)
val row = preparedStatement.execute()
println(row)
println("row updated in table successfully")
preparedStatement.close()

上面这段代码没有抛出任何异常,但是当我在 DBeaver 之类的工具中查询我的表时,PT_DEPLOYED 的 NULL 值不会更新为 Y。

update_PT_Deploy如果我执行与DBeaver 内部提到的相同的查询,则查询将起作用并且表会更新。我确定我正在遵循正确的步骤..

标签: scalajdbc

解决方案


推荐阅读