Java 使用带有Oracle数据库上的绑定变量的PreparedStatement获取激发的查询
编辑:我正在使用Oracle 我正在使用Java 使用带有Oracle数据库上的绑定变量的PreparedStatement获取激发的查询,java,sql,jdbc,prepared-statement,Java,Sql,Jdbc,Prepared Statement,编辑:我正在使用Oracle 我正在使用PreparedStatement编写一个动态查询,如下所示 String query="UPDATE <tablename> SET column1=?,column2=?,.....,coulmn7=? WHERE " + "column5=TO_DATE(?,'DD/MM/YYYY') AND " + "column6=? AND " .... + "col
PreparedStatement
编写一个动态查询,如下所示
String query="UPDATE <tablename> SET
column1=?,column2=?,.....,coulmn7=? WHERE "
+ "column5=TO_DATE(?,'DD/MM/YYYY') AND "
+ "column6=? AND "
....
+ "column7=?";
PreparedStatement prest2=con2.PrepareThisStatement(query);
while(true){
//loop through and bind values
if(end of list) break;
}
prest2.executeUpdate(query);
String query=“更新集
第1列=?,第2列=?,…,第7列=?其中“
+第5列=截止日期('DD/MM/YYYY')和
+“第6列=?和”
....
+“第7列=?”;
PreparedStatement prest2=con2.PrepareThisStatement(查询);
while(true){
//循环并绑定值
如果(列表末尾)中断;
}
prest2.执行更新(查询);
我需要跟踪在数据库中触发的查询,并将它们记录在表中
但是,当使用
PreparedStatement
时,我无法获取整个查询,也无法将值存储在单独的字段中。是否有方法获取在数据库中触发的最终查询。您可以使用1prest2.toString()代码>正确。完全重复。@PradeepSimha:编辑了这篇文章,请参见,在使用Oracle时,打印PreparedStatement
的建议不适用。我也不想使用日志api。@SangeetMenon,据我所知,JDBC中没有实现相同功能的工具。据我所知,它只适用于MySQL驱动程序。