1

我有一个更新查询如下:

UPDATE SCHEMA_NAME.TABLE_NAME SET COLUMN_NAME = VALUE;

我在准备好的语句设置器中将以下查询作为字符串传递:

UPDATE ?.? SET ? = ?

在我准备好的语句 setter java 类中,我将值设置如下:

ps.setString(1, "mySchema");
ps.setString(2, "myTable");
ps.setString(3, "myColumn");
ps.setString(4, "myValue");

但是,在运行准备上述查询并运行它的 java 程序时,出现以下错误:

DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601

如何以我上面描述的方式动态创建查询?

4

1 回答 1

1

您不能使用参数化(即?)来设置模式或表名。相反,您只需要在准备语句之前将正确的表插入到 Java 中的字符串中。

于 2013-02-12T12:09:21.827 回答