有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

sql如何解决java中的写数据定义操作?

我正在尝试执行以下查询:

    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

那么如何克服这个例外呢


共 (1) 个答案

  1. # 1 楼答案

    消息说明了一切,您不能在DDL操作中使用绑定变量

    您需要做的是在不使用where子句的情况下创建视图,并在查询视图时应用筛选