`
tanglei198577
  • 浏览: 60288 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

plsql learning - three:debug

阅读更多

The debug method three: we can use the debug tools of plsql developer,just like we debug our code in eclipse or vc.

  

create or replace package StudentFetch as
  type t_Students is table of students%rowtype
  index by binary_integer;
  
  --open the cursor for processing
  procedure OpenCursor;
  
  --close the cursor
  procedure CloseCursor;
  
  --return up to p_BatchSize rows in p_Students
  function FetchRows(p_BatchSize in out number,p_Students out t_students)
  return boolean;
  
  --print the p_BatchSize rows from p_Students
  procedure PrintRows(p_BatchSize in number,p_Students in t_students);
  
  end StudentFetch;

create or replace package body StudentFetch as
cursor c_AllStudents is
  select * from students order by id;
  
  --open the cursor for processing
  procedure OpenCursor is
  begin 
      open c_AllStudents;
  end  OpenCursor;
  --close the cursor
  procedure CloseCursor is
    begin
      close c_AllStudents;
    end CloseCursor;
    
  --return up to p_BatchSize rows in p_Students
  function FetchRows(p_BatchSize in out number,p_Students out t_students)
  return boolean is
  v_Finished boolean := true;
  begin 
    for v_Count in 1..p_BatchSize loop
      fetch c_AllStudents into p_Students(v_Count);
        if c_AllStudents%notfound then
          v_Finished := false;
          p_BatchSize := v_Count - 1;
          exit;
        end if;
     end loop;
     return v_Finished;
   end FetchRows;
   
  --print the p_BatchSize rows from p_Students
  procedure PrintRows(p_BatchSize in number,p_Students in t_students) is
  begin 
    for v_Count in 1..p_BatchSize loop
      dbms_output.put('ID: '||p_Students(v_Count).ID);
      dbms_output.put('Name: '||p_Students(v_Count).first_name);
      dbms_output.put_line(' '||p_Students(v_Count).last_name);
    end loop;
  end PrintRows;
 end StudentFetch;
  
  --test procedure
  create or replace procedure TestCredit is
  v_BatchSize number:=5;
  v_Students StudentFetch.t_Students;
  begin
    StudentFetch.OpenCursor;
    while StudentFetch.FetchRows(v_BatchSize,v_Students) loop
      StudentFetch.PrintRows(v_BatchSize,v_Students);
    end loop;
    if v_BatchSize != 0 then
      StudentFetch.PrintRows(v_BatchSize,v_Students);
    end if;
    StudentFetch.CloseCursor;
  end TestCredit;

we can set breakpoint of the procedure,then go to find the value of every step we executed.it is convenient.

0
0
分享到:
评论

相关推荐

    oracle12c ORA-01017: 用户名/口令无效; 登录被拒绝 解决方案

    oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。

    IMP-00010:不是有效的导出文件,头部验证失败

    标题“IMP-00010:不是有效的导出文件,头部验证失败”涉及的是Oracle数据库导入(IMP)过程中遇到的一个常见错误。这个错误通常发生在尝试使用IMP工具从.dmp文件导入数据时,表明导入文件可能已损坏或不完整,导致...

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    您可能感兴趣的文章:常用的Oracle doc命令(收藏)Oracle 多行记录合并/连接/聚合字符串的几种方法Oracle中字符串连接的实现方法php连接oracle数据库及查询数据的方法plsql连接oracle数据库报ora 12154错

    plsql-parser:用js编写的Oracle PLSQL解析器

    PL / SQL解析器 欢迎捐款,我对每一个帮助都很满意:) 概念 这将是一个多阶段解析器。这意味着,第一级仅解析一般结构。例如,它发现变量声明,但不检查定义的varchar2变量是否确实具有有效的字符串值。...

    Mybatis出现ORA-00911: invalid character的解决办法

    今天在项目中,使用Mybatis对oracle数据库进行操作的时候,报出ORA-00911: invalid character的错误,检查了一下SQL,发现都书写正确啊,复制到plsql上执行也都没问题,这什么原因呢? 注意:这里说的是用navicat...

    PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符已解决(本地未安装Oracle需要连接服务器上的)

    ORA-12154:TNS:无法解析指定的连接标识符 ORA-12154:TNS:无监听程序 ...E:\PLSQL Developer(64)\instantclient_11_2 配置环境变量就是为了让PL/SQL Developer打开时加载到tnsnames.ora文件的内容 配置pl/sql的Datab

    plsql-vf-dbfodbc.rar

    标题 "plsql-vf-dbfodbc.rar" 暗示了这个压缩包与PL/SQL(Oracle数据库的编程环境)以及Visual FoxPro(VFP)数据库系统有关,特别是涉及到在PL/SQL环境中通过ODBC(Open Database Connectivity)驱动程序访问DBF...

    plsql8.0.3.1510绿色破解版(内含DBAtools)

    此工具的主要功能有:绿色,已破解,中文操作文档,附加dbatools插件(可用于扩展数据库表空间等,此功能经常使用,完全可保证),是学习oracle进行提高的必备工具,希望对学习oracle数据的朋友有所帮助。

    plsqldev-trivadis-plugin:Trivadis PLSQL Cop的PLSQL Developer插件

    plsqldev-trivadis-插件 Trivadis PL / SQL Cop的PL / SQL开发人员插件 如果您的PL / SQL Developer是x86,则需要将插件编译为x86,或者如果它是x64,则编译为x64。 您需要将插件放置在C:\ Program Files \ PLSQL ...

    oracle中表空间、权限、角色、用户的总结

    oracle中表空间、权限、角色、用户的总结,其中包括表空间的建立,权限的配置,角色的生成和用户的挂接

    plsqldev-9.0

    plsqldev-9.0.zip

    PLSQL Developer-dba

    PLSQL Developer-dba

    plsql资料--plsql资料

    PLSQL,全称为Procedural Language/SQL,是Oracle数据库提供的一个编程环境,结合了SQL(结构化查询语言)和过程式编程语言的特性。它主要用于编写与Oracle数据库交互的应用程序,尤其是数据库的后台处理部分。这个...

    plsqldev-12.汉化版

    plsqldev-12.汉化版 Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz Serial Number:601769 password:xs374ca

    TSQL与PLSQL比较

    在数据库编程领域,TSQL(Transact-SQL)和PLSQL(Procedural Language/SQL)是两种广泛使用的SQL方言,分别由微软的SQL Server和甲骨文的Oracle数据库系统支持。它们都提供了丰富的数学函数和操作来处理数值计算,...

    plsql-unit-test:猴子补丁测试

    PLSQL单元测试 该gem旨在用于测试PLSQL代码。 大多数测试框架是由Test :: Unit提供的,而这个gem仅添加了一些方便的方法,这些方法在单元测试PLSQL代码时非常有用。 依存关系 此宝石取决于: 为Oracle提供JDBC接口 ...

    PLSQL10-GGS(20131030).zip

    PLSQL,全称为Procedural Language/SQL,是Oracle数据库附带的一种编程语言,它将SQL语句嵌入到一种过程式的语言中,使得开发者能够更有效地管理和操作Oracle数据库。这个"PLSQL10-GGS(20131030).zip"文件是一个绿色...

    plsql-cop-sonar:用于SonarQube的PLSQL Cop

    用于SonarQube的db * CODECOP 介绍 DB * CODECOP为SonarQube是一个插件 。 该插件分析SQL和PL / SQL代码并计算各种指标,并检查该代码是否符合 。 静态代码分析通常作为连续集成设置的一部分启动,例如在Jenkins或...

    PLSQL Developer-12.rar

    PLSQL Developer是一款强大的Oracle数据库开发工具,专为数据库管理员、开发者和分析师设计,提供了一站式的解决方案,用于编写、测试和调试PL/SQL代码。它简化了与Oracle数据库的交互,提高了开发效率,使得数据库...

    PLSQL--ORACLE连接工具

    PLSQL(Procedural Language/Structured Query Language)是Oracle数据库的一种扩展,它为SQL语言添加了过程编程特性,使得在数据库管理与开发中能够编写复杂的逻辑代码。ORACLE连接工具则是用于与Oracle数据库进行...

Global site tag (gtag.js) - Google Analytics