我正在尝试执行以下查询:
String sql="create or replace view toprecords as select * from(select directory_name,file_name,sum(value) from tfidfvalues where directory_name =? group by(directory_name,file_name) order by(sum(value)) desc) where rownum<=10";
stmt = con.prepareStatement(sql);
stmt.setString(1, directory_names.get(x));
stmt.executeUpdate();
当我在oracle中执行它时它工作正常但是当我尝试在java中实现它时它显示以下错误:
java.sql.SQLException: ORA-01027: bind variables not allowed for data definition operations
那怎么克服这个例外?
答案 0 :(得分:0)
消息说明了一切,你不能在DDL操作中使用绑定变量。
您需要做的是创建没有where
子句的视图,而是在查询视图时应用过滤。