如何在 Oracle SQL Developer中执行返回类型为游标的存储过程?

猿来是我 2010-11-23 12:36:12
package上右键菜单Run,

DECLARE
STARTDATE DATE;
CUR_DATA DBOPT.PKG1.cursorType;
BEGIN
STARTDATE := to_date('1/1/2007','mm/dd/yyyy');

PKG1.GETGAMEINFO(
STARTDATE => STARTDATE ,
CUR_DATA => CUR_DATA
);
-- Modify the code to output the variable
DBMS_OUTPUT.PUT_LINE(CUR_DATA.CategoryName);
END;


其中,cursorType的声明为:
type cursorType is ref cursor;


错误提示: Invalid reference to variable 'CUR_DATA'

如何执行这个存储过程,得到结果集??

...全文
231 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
心中的彩虹 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mynoname 的回复:]
PKG1.GETGAMEINFO(STARTDATE , CUR_DATA);
-------------------------------------------- 一样的错误。


--------------------------存储过程本身,已经打开游标了...
procedure GETGAMEINFO(
STARTDATE in Date,
CUR_DATA……
[/Quote]
那你的包的代码全贴上来 我们才能帮你改
心中的彩虹 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 mynoname 的回复:]
package上右键菜单Run,

DECLARE
STARTDATE DATE;
CUR_DATA DBOPT.PKG1.cursorType;
BEGIN
STARTDATE := to_date('1/1/2007','mm/dd/yyyy');

PKG1.GETGAMEINFO(
STARTDATE => STARTDATE ,
CUR_DAT……
[/Quote]
--PKG1.GETGAMEINFO(STARTDATE => STARTDATE ,CUR_DATA => CUR_DATA); 过程里面怎么写的,如果过程里面执行部分有打开游标
DECLARE
STARTDATE DATE;
CUR_DATA DBOPT.PKG1.cursorType;
定义接受游标记录的变量
BEGIN
STARTDATE := to_date('1/1/2007','mm/dd/yyyy');
PKG1.GETGAMEINFO(STARTDATE => STARTDATE ,CUR_DATA => CUR_DATA);

fetch CUR_DATA into 变量 ;
while CUR_DATA%found loop
dbms_output.put_line(变量);
fetch CUR_DATA into 变量 ;
end loop;
close CUR_DATA;
END;





猿来是我 2010-11-23
  • 打赏
  • 举报
回复
PKG1.GETGAMEINFO(STARTDATE , CUR_DATA);
-------------------------------------------- 一样的错误。


--------------------------存储过程本身,已经打开游标了...
procedure GETGAMEINFO(
STARTDATE in Date,
CUR_DATA out cursorType
)

。。。

open CUR_DATA for

SELECT
。。。
YY_MM_DD 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 mynoname 的回复:]
package上右键菜单Run,

DECLARE
STARTDATE DATE;
CUR_DATA DBOPT.PKG1.cursorType;
BEGIN
STARTDATE := to_date('1/1/2007','mm/dd/yyyy');

PKG1.GETGAMEINFO(
STARTDATE => STARTDATE ,
CUR……
[/Quote]
还有就是你CUR_DATA.CategoryName好象不对吧,游标都没打开的.
YY_MM_DD 2010-11-23
  • 打赏
  • 举报
回复
PKG1.GETGAMEINFO(
STARTDATE => STARTDATE ,
CUR_DATA => CUR_DATA
);

---->
PKG1.GETGAMEINFO(STARTDATE , CUR_DATA);
这样修改下。。看行不?
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程的主要优势。 主要特性    登录界面PL/SQL编辑器,具有语法加强、SQL和PL/SQL帮助、对象描述、代码助手、编译器提示、PL/SQL完善、代码内容、代码分级、浏览器按钮、超链接导航、宏库等许多智能特性,能够满足要求性最高的用户需求。当您需要某个信息时,它将自动出现,至多单击即可将信息调出。 重要功能 集成调试器   该调试器(要求Oracle 7.3.4或更高)提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。基本能够调试任何程序单元(包括触发器和Oracle8 对象类型),无需作出任何修改。 PL/SQL完善器   该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了大规模工作团队的协作。 SQL 窗口   该窗口允许您输入任何SQL语句,并以栅格形式对结果进行观察和编辑,支持按范例查询模式,以便在某个结果集合查找特定记录。另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。 命令窗口   使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同的感观,另外还增加了一个内置的带语法加强特性的脚本编辑器。这样,您就可以开发自己的脚本,无需编辑脚本/保存脚本/转换为SQL*Plus/运行脚本过程,也不用离开PL/SQL Developer集成开发环境。 报告   PL/SQL Developer提供内置的报告功能,您可以根据程序数据或Oracle字典运行报告。PL/SQL Developer本身提供了大量标准报告,而且您还可以方便的创建自定义报告。自定义报告将被保存在报告文件,进而包含在报告菜单内。这样,运行您自己经常使用的自定义报告就非常方便。   您可以使用Query Reporter免费软件工具来运行您的报告,不需要PL/SQL Developer,直接从命令行运行即可。 工程   PL/SQL Developer内置的工程概念可以用来组织您的工作。一个工程包括源文件集合、数据库对象、notes和选项。PL/SQL Developer允许您在某些特定的条目集合范围之内进行工作,而不是在完全的数据库或架构之内。这样,如果需要编译所有工程条目或者将工程从某个位置或数据库移动到其他位置时,所需工程条目的查找就变得比较简单。 To-Do条目   您可以在任何SQL或PL/SQL源文件使用To-Do条目快速记录该文件那些需要进行的事项。以后能够从To-Do列表访问这些信息,访问操作可以在对象层或工程层进行。 对象浏览器   可配置的树形浏览能够显示同PL/SQL开发相关的全部信息,使用该浏览器可以获取对象描述、浏览对象定义、创建测试脚本以便调试、使能或禁止触发器或约束条件、重新编译不合法对象、查询或编辑表格、浏览数据、在对象源进行文本查找、拖放对象名到编辑器等。   此外,该对象浏览器还可以显示对象之间的依存关系,您可以递归的扩展这些依存对象(如包参考检查、浏览参考表格、图表类型等)。 性能优化   使用PL/SQL Profiler,可以浏览每一执行的PL/SQL代码行的时序信息(Oracle8i或更高),从而优化您SQL和PL/SQL的代码性能。   更进一步,您还可以自动获取所执行SQL语句和PL/SQL程序统计信息。该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。 HTML指南   Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境,以便在编辑、编译出错或运行时出错时提供内容敏感帮助。 非PL/SQL对象   不使用任何SQL,您就可以对表格、序列、符号、库、目录、工作、队列、用户和角色进行浏览、创建和修改行为。PL/SQL Developer提供了一个简单易用的窗体,只要将信息输入其,PL/SQL Developer就将生成相应的SQL,从而创建或转换对象。 模板列表   PL/SQL Developer的模板列表可用作一个实时的帮助组件,
内容简介   本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developersql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录类型、集合类型、对象类型、大对象类型)。   除了为读者提供编写sql语句和开发pl/sql块的方法外,本书还为应用开发人员提供了一些常用的pl/sql系统包。通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部分 sql和pl/sql相关工具  第1章 在windows 平台上安装oracle database 11g  第2章 配置网络服务名  第3章 使用sql database  第4章 使用sql*plus 第二部分 sql  第5章 sql和pl/sql综述  第6章 简单查询  第7章 sql单行函数  第8章 操纵数据  第9章 复杂查询  第10章 管理常用对象 第三部分 pl/sql  第11章 pl/sql基础  第12章 访问oracle  第13章 编写控制结构  第14章 使用复合数据类型  第15章 使用游标  第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件  第25章 开发多媒体应用  第26章 开发web应用  第27章 dbms_sq动态sql  第28章 管理统计  第29章 使用数据库资源管理器  第30章 数据加密和解密  第31章 使用调度程序  第32章 使用flashback  第33章 使用重定义联机表  第34章 修正损坏块  第35章 使用日里民挖掘  第36章 使用管道  第37章 使用精细访问控制  第38章 使用精细审计  第39章 使用预警事件  第40章 转换rowid  第41章 其他常用包 习题答案
谢谢大家的支持,我会陆续上传相关电子书 由于体积较大,本书分两卷压缩,请都下载完再解压! Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一) http://download.csdn.net/source/3268267 Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二) http://download.csdn.net/source/3268312 内容简介   本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developersql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录类型、集合类型、对象类型、大对象类型)。   除了为读者提供编写sql语句和开发pl/sql块的方法外,本书还为应用开发人员提供了一些常用的pl/sql系统包。通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部分 sql和pl/sql相关工具  第1章 在windows 平台上安装oracle database 11g  第2章 配置网络服务名  第3章 使用sql database  第4章 使用sql*plus 第二部分 sql  第5章 sql和pl/sql综述  第6章 简单查询  第7章 sql单行函数  第8章 操纵数据  第9章 复杂查询  第10章 管理常用对象 第三部分 pl/sql  第11章 pl/sql基础  第12章 访问oracle  第13章 编写控制结构  第14章 使用复合数据类型  第15章 使用游标  第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件  第25章 开发多媒体应用  第26章 开发web应用  第27章 dbms_sq动态sql  第28章 管理统计  第29章 使用数据库资源管理器  第30章 数据加密和解密  第31章 使用调度程序  第32章 使用flashback  第33章 使用重定义联机表  第34章 修正损坏块  第35章 使用日里民挖掘  第36章 使用管道  第37章 使用精细访问控制  第38章 使用精细审计  第39章 使用预警事件  第40章 转换rowid  第41章 其他常用包 习题答案
本书是专门为Oracle应用开发人员提供的SQL和PL/SQL编程指南。通过学习本书,读者不仅可以掌握Oracle常用工具Oracle Universal Installer、Net Comfiguration Assistant、SQL DeveloperSQL*Plus的作用及使用方法,而且可以掌握SQL语句和PL/SQL的各种基础知识和高级特征(记录类型、集合类型、对象类型、大对象类型)。   除了为读者提供编写SQL语句和开发PL/SQL块的方法外,本书还为应用开发人员提供了一些常用的PL/SQL系统包。通过使用这些PL/SQL系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合SQL和PL/SQL初学者,也适合于有经验的Oracle应用开发人员。 前言 第一部分SQL和PL/SQL相关工具  第1章在Windows平台上安装OracleDatabase11g  第2章配置网络服务名  第3章使用SQLDatabase  第4章使用SQL*Plus 第二部分SQL  第5章SQL和PL/SQL综述  第6章简单查询  第7章SQL单行函数  第8章操纵数据  第9章复杂查询  第10章管理常用对象 第三部分PL/SQL  第11章PL/SQL基础  第12章访问Oracle  第13章编写控制结构  第14章使用复合数 据类型  第15章使用游标  第16章异常处理 . 第17章本地动态SQL  第18章PL/SQL过程  第19章PL/SQL函数  第20章PL/SQL包  第21章触发器  第22章使用对象类型 第四部分PL/SQL系统包  第23章使用大对象  第24章读写OS文件  第25章开发多媒体应用  第26章开发Web应用  第27章DBMS_SQ动态SQL  第28章管理统计  第29章使用数据库资源管理器  第30章数据加密和解密  第31章使用调度程序  第32章使用Flashback  第33章使用重定义联机表  第34章修正损坏块  第35章使用日里民挖掘  第36章使用管道  第37章使用精细访问控制  第38章使用精细审计  第39章使用预警事件  第40章转换ROWID  第41章其他常用包 习题答案
选定某一主题,运用oracle数据库,以及相关技术方法设计和开发一个信息管理的数据库系统,实现数据库的开发应用以及日常管理维护等基本功能。 具体要求如下: (1)选定某一主题,创建一个oracle数据库,对其进行日常管理及应用(全部用SQL语句实现): 1、创建数据库实例,数据库表空间,创建管理员,普通用户,并分别授予相应权限; 2、至少建立5个表,以及表间关系,使用到序列,索引,视图,同义词,约束,每个表至少插入相关信息10条记录; 3、要求使用sqlplus,pl/sqldeveloper建立存储过程,触发器和程序包等代码,其要求用到游标,异常,各种语句等对表数据进行处理; 4、使用自己熟悉的开发语言,加入界面,连接数据库; 5、报告要有操作截图展示,字数要求4000字左右,以及对 oracle数据库的学习体会,要求字数1000字以上。 (2)学生需完成设计报告文档,文档不得雷同; (3)以班为单位由班长统一提交,设计的数据库以及电子文档以个人名字命名,并以班集体为单位刻盘保存。 (4)根据作业难度、工作量、设计创新性、报告书写规范化、作业运行结果及答辩情况综合评分,评分标准如下: 1、数据库的设计及实现,用户管理,权限分配,各种模式对象的使用合理; 2、块、游标、储存过程、函数、触发器等的设计及调用正确; 3、报告文档说明条理清晰,格式正确,写作规范 4、系统运行良好,有一定的独立性与创新性,态度积极认真;

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧