我们可以在jdbc中使用表对象作为位置参数吗?

时间:2015-03-29 21:24:32

标签: jdbc

主要查询:

PreparedStatement pstmt = con.prepareStatement("DELETE FROM employee WHERE eno = 1");

工作:通过连接

PreparedStatement pstmt = con.prepareStatement("DELETE FROM "+tn+" WHERE "+cn+" = ?");

不工作:使用位置参数时

PreparedStatement pstmt = con.prepareStatement("DELETE FROM ? WHERE ? = ?");

我们是否可以仅使用位置参数来处理表数据?

为什么我无法使用table_name,column_name等?

1 个答案:

答案 0 :(得分:0)

准备好的声明的目的是让数据库准备一个执行计划(即计算需要完成的工作,使用哪些表,索引,连接策略,算法等),然后执行该计划或多次使用各种参数。

如果数据库甚至不知道它必须从哪个表中删除,根据哪个标准,它就无法准备执行计划。