【问题标题】:How to return multiple rows from the stored procedure?如何从存储过程中返回多行?
【发布时间】:2015-11-04 16:30:35
【问题描述】:
 "select tableshow from alltable where branch =      
 '"+session.getAttribute("Branch")+"' and sem = 
 '"+session.getAttribute("Sem")+"'";

通过这个查询,我正在获取表的名称,例如让表名是存储在 exe 变量中的“fifthsem”

现在我需要将此变量 exe 作为表名应用查询。 我需要从这个表的过程中获取整个数据并显示在jsp页面中。

使用oracle数据库

【问题讨论】:

    标签: java sql oracle oracle10g


    【解决方案1】:

    如何从存储过程中返回多行?

    您可以使用REF CURSORs 将多行从存储过程返回到客户端应用程序。

    使用 REF CURSOR 是将查询结果从 Oracle 数据库返回到客户端应用程序的最强大、灵活和可扩展的方法之一。

    REF CURSOR 是一种 PL/SQL 数据类型,其值是数据库上查询工作区的内存地址。本质上,REF CURSOR 是指向数据库结果集的指针或句柄。 REF CURSOR 通过 OracleRefCursor ODP.NET 类表示。

    查看此示例:Retrieving an Oracle cursor in Java

    【讨论】:

      【解决方案2】:

      您可以将其分配给变量并使用动态sql获取数据

      参考这个Dynamic SQL LOOP

      【讨论】:

        【解决方案3】:

        您可以使用 Oracle Pipelined 表函数。

        关于如何在oracle中创建流水线表函数的详细信息,请参考this link

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-05
          • 2014-08-31
          • 2010-09-11
          • 1970-01-01
          • 2015-12-24
          • 1970-01-01
          相关资源
          最近更新 更多