`
wunke
  • 浏览: 10738 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

获取存储过程结果集

阅读更多
从存储过程返回表类型的值也有二种:
1.存储过程使用浮标参数,即同时指定CURSOR VARYING OUTPUT项.调用者可以使用while及fetch循环遍历该浮标.
2.直接将存储过程返回的结果集插入到表中,即使用insert into 表名 exec 存储过程.此种方式中注意存储过程返回的结果集列与insert的列要完全对应,可以在insert中指定列名来保证对应关系.
------------------------------------------------------------------------------
测试:
------------------------------------------------------------------------------
----建立测试用的临时表
create table #tmp (colx int,coly int)
insert into #tmp values(1,2)
insert into #tmp values(2,3)
insert into #tmp values(3,4)
select * from #tmp
GO
----创建返回游标的存储过程
create proc sp_c @cur CURSOR VARYING OUTPUT
AS
begin
set @cur = CURSOR for select colx from #tmp
open @cur /*该过程返回游标,该游标为colx列的查询结果*/
end
GO
----创建返回表的存储过程
create proc sp_d
as
select coly from #tmp /*该过程返回coly列的查询结果*/
go
----创建用于调用以上二个存储过程的存储过程
create proc sp_e
as
begin
declare @x int
declare @cur cursor
----接收游标,并遍历游标
EXEC sp_c @cur OUTPUT
fetch next from @cur into @x
while (@@FETCH_STATUS = 0)
begin
print @x
fetch next from @cur into @x
END
close @cur
deallocate @cur
----将存储过程返回的列值再重新插入源表中
insert into #tmp(coly) EXEC sp_d
select * from #tmp
end
GO
EXEC sp_e
drop proc sp_c
drop proc sp_d
drop proc sp_e
drop table #tmp
分享到:
评论

相关推荐

    Oracle存储过程返回结果集

    本篇将深入探讨如何在Oracle存储过程中创建并返回一个结果集,并结合Java代码展示如何在应用程序中使用这个结果集。 首先,我们需要理解`OUT`参数的概念。在Oracle存储过程中,`IN`参数用于传递数据到过程,`OUT`...

    oracle的存储过程如何返回结果集

    在Java应用程序中,可以使用`CallableStatement`来调用存储过程并获取结果集。下面是一个简单的示例: ```java // 创建 CallableStatement 对象 CallableStatement csmt = conn.prepareCall("{call pkg_test.get(?)...

    delphi如何调用sql存储过程,并获取结果

    在Delphi中调用SQL存储过程并获取结果是数据库编程中的一个重要环节。下面将通过给定的代码示例,详细解析Delphi如何调用SQL存储过程,并获取执行结果。 ### Delphi调用SQL存储过程的基本步骤 #### 1. 准备工作 ...

    java调用oracle存储过程返回结果集,Record,cursor参照.pdf

    Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中,需要创建两个Type类型:`myScalarType`和`myTableType...

    java存储过程返回数据集

    通过上述步骤,我们可以实现在Oracle数据库中创建存储过程来返回数据集,并在Java程序中调用该存储过程获取结果集。这种方式不仅提高了数据库操作的安全性和效率,还能够更好地管理复杂的业务逻辑。在实际开发过程中...

    java调用oracle存储过程并得到结果集

    在Java编程中,调用Oracle数据库的存储过程并获取结果集是一项常见的任务。在这个场景下,我们将使用JDK 1.5版本,MyEclipse集成开发环境,以及Oracle 11g数据库。以下是对这个主题的详细解释: 首先,我们需要确保...

    用JDBC操作Oracle的存储过程返回值

    如果存储过程有结果集返回,可以使用`ResultSet`来获取。 总的来说,使用JDBC操作Oracle的存储过程返回值涉及了JDBC的基本操作,包括加载驱动、建立连接、创建CallableStatement、设置参数、执行存储过程、获取...

    C#中调用oracle存储过程返回数据集

    在C#中,我们可以使用Command对象来执行这些存储过程,并获取返回的数据集。 首先,确保已经安装了Oracle的数据提供程序,如Oracle Data Provider for .NET (ODP.NET)。这是与Oracle数据库进行交互的必要组件。你...

    分享:在存储过程中使用另一个存储过程返回的查询结果集的方法

    在SQL Server数据库中,存储过程是预编译的SQL代码集合,它们可以接受参数并返回结果集。在某些场景下,我们可能需要在一个存储过程中调用另一个存储过程,并使用其返回的结果集。本文将深入探讨如何在存储过程中...

    在cognos中调用存储过程的结果集来生成报表遇到的报错和解决方法

    在使用IBM Cognos Business Intelligence(Cognos)进行数据分析时,调用存储过程来获取结果集并生成报表是常见的操作。然而,在实际操作中,可能会遇到一些问题和错误,导致报表无法正常生成。本文将深入探讨这些...

    java调用存储过程同时返回值和多个table

    java调用存储过程,支持获取return值,output返回值,以及查询的表数据,表数据允许有多个查询结果集

    Java调用带参数的存储过程并返回集合

    4. **处理结果集**:遍历`ResultSet`,获取存储过程返回的集合数据: ```java while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); // ... 其他字段 System.out.println("ID: ...

    hibernate query调用oracle存储过程

    存储过程是预编译的SQL语句集合,可以接受参数、返回结果并执行一系列操作。函数则类似于存储过程,但必须返回一个值。在Oracle中,它们都存储在数据库中,可被多次调用,提高了代码复用性和执行效率。 在Hibernate...

    CallableStatement调用Oracle存储过程返回结果集(ResultSet).doc

    ### CallableStatement调用Oracle存储过程返回结果集(ResultSet) #### 一、无返回值的存储过程调用 在本节中,我们通过一个具体的例子来详细介绍如何使用`CallableStatement`来调用Oracle数据库中的无返回值存储...

    ADO调用存储过程||ADO读取结果集

    在本篇讨论中,我们将深入探讨如何使用ADO调用存储过程以及如何将返回的结果集显示到ListView控件中,特别在VC6.0环境下进行测试。 首先,存储过程是预编译的SQL语句集合,它可以包含一系列复杂的业务逻辑,提高了...

    C#获取存储过程的返回参数值

    如果你的存储过程返回结果集,你应该使用`ExecuteReader()`或`ExecuteScalar()`方法。 此外,确保正确配置你的数据库连接字符串,例如`LocalSqlServer`,它通常在应用程序的配置文件(如`app.config`或`web.config`...

    Java获取Oracle存储过程返回的Cursor

    存储过程内部使用了一个嵌套查询来过滤和排序数据,并将结果集绑定到输出的Cursor。 ```sql CREATE OR REPLACE PACKAGE TEST IS -- 返回cursor TYPE CURSOR_RESULT IS REF CURSOR; PROCEDURE GET_CURSOR_RESULT...

    java调用存储过程(含out参数)

    `OUT`参数是存储过程中的一种特殊参数类型,用于将结果传出存储过程,供调用者使用。 Java中调用存储过程主要通过JDBC(Java Database Connectivity)接口实现。以下是一步步的操作步骤: 1. **加载数据库驱动**:...

    利用游标返回结果集的的例子(Oracle 存储过程).doc

    在这个例子中,我们将探讨如何通过存储过程和游标返回结果集。游标允许我们在处理数据时逐行移动,这对于需要循环访问数据库记录的情况非常有用。 首先,我们创建了一个名为`types`的程序包,它定义了一个名为`...

Global site tag (gtag.js) - Google Analytics