我想知道通过JDBC运行PL/SQL或T-SQL代码块的最佳方法是什么。
更具体地说,应该使用哪个JDBC API来执行返回ResultSet的PL/SQL或T-SQL块?
更新:
更具体地说,我有一个通用代码,它将SQL代码(可以是SQL、PL/SQL或T-SQL)作为输入接收,根据所需的数据库加载适当的JDBC驱动程序,并按以下方式执行给定的SQL代码:
更具体地说,应该使用哪个JDBC API来执行返回ResultSet的PL/SQL或T-SQL块?
更新:
更具体地说,我有一个通用代码,它将SQL代码(可以是SQL、PL/SQL或T-SQL)作为输入接收,根据所需的数据库加载适当的JDBC驱动程序,并按以下方式执行给定的SQL代码:
Statement stmt = conn.createStatement ();
ResultSet rs = stmt.executeQuery("BEGIN some code END SELECT * FROM MY_TABLE");
while (rs.next ()) {
System.out.println (rset.getString (1));
}
当使用一些像游标这样的T-SQL或PL/SQL对象时,此操作不会返回任何 ResultSet
。
因此,我在想是否使用JDBC API执行这些查询是最好的方法。如果是的话,那么我正在使用的特定JDBC驱动程序实现中一定存在错误。
execute("在此处放置您的PL/SQL块")
,然后使用Statement.getResultSet()
。查看JavaDocs,它甚至为此提供了示例。 - user330315