繁体   English   中英

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

[英]How to return multiple rows from the stored procedure?

 "select tableshow from alltable where branch =      
 '"+session.getAttribute("Branch")+"' and sem = 
 '"+session.getAttribute("Sem")+"'";

通过此查询,我正在获取表的名称,例如让表名称为“ fifthsem”,该文件存储在exe变量中

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

使用Oracle数据库

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

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

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

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

查看此示例: 用Java检索Oracle游标

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

引用此动态SQL LOOP

您可以使用Oracle Pipelined表函数。

有关如何在oracle中创建管道表函数的详细信息,请参考此链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM