我有一个更新查询,如下所示:
UPDATE SCHEMA_NAME.TABLE_NAME SET COLUMN_NAME = VALUE;
我在准备好的语句setter中将以下查询作为String传递:
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
如何以我上面描述的方式动态创建查询?
答案 0 :(得分:1)
您无法使用参数化(即?
)来设置架构或表名称。相反,您只需要在准备语句之前将正确的表插入到Java中的字符串中。