在sql请求中使用变量(表名)

disbfnqx  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(416)

这个问题在这里已经有答案了

使用准备好的语句设置表名(7个答案)
10个月前关门了。
如何在这种类型的请求sql中使用变量作为表名?
代码:

String table="QUESTIONS_GEST";
PreparedStatement pst=conn.prepareStatement("SELECT COUNT(*) FROM TABLE(?)");
pst.setString(1,table);
ResultSet r=pst.executeQuery();
r.next();
System.out.println(r.getInt(1));

输出:

org.postgresql.util.PSQLException: ERROR: syntax error at or near "TABLE"
Position : 22

非常感谢您的帮助!;)

lfapxunr

lfapxunr1#

你也可以使用 replace 函数并进行查询。这也是一种方式。

String table="QUESTIONS_GEST";
String yourQuery = "SELECT COUNT(*) FROM ?"
yourQuery = yourQuery.replace("?", table);
PreparedStatement pst=conn.prepareStatement(yourQuery);

相关问题