Chat now with support
Chat with Support

Toad for Oracle 12.11 - 用户指南

目录 欢迎来到 Toad Toad 资源 所需特权 创建和管理数据库连接 编辑器基本信息 模式浏览器基本信息 数据网格基本信息 使用数据 使用数据库对象 使用代码
编写语句和脚本 使用查询生成器 执行语句和脚本 保存语句(SQL 重新调用) 使用 PL/SQL 对象 调试 分析代码 优化 SQL
自定义 Toad 环境 将其他 Quest Software 产品与 Toad 搭配使用

调试 PL/SQL

使用代码

Toad 提供写入、运行和测试 SQL 和 PL/SQL 代码的直观和有效方法。Toad 支持对单一开发人员或开发人员完整团队进行有效代码管理。

 

Oracle 数据库最低要求

使用代码 > 调试 > 调试 PL/SQL > Oracle 数据库最低要求

对于所有数据库,您必须安装 Oracle Probe API v2.0 或更高版本以便使用 Toad 调试 PL/SQL。

如要检查 Oracle Probe API 版本

  1. 确保 SYS 模式中存在名为 DBMS_DEBUG 的程序包。

    如要查明您使用的 Probe API 版本,请选择 DBMS 输出窗口选项卡在 SQL 编辑器中运行以下 PL/SQL 匿名块:

    declare

    probe_major_ver varchar2(10);

    probe_minor_ver varchar2(10);

    begin

    dbms_debug.probe_version(probe_major_ver, probe_minor_ver);

    dbms_output.put_line('MAJOR='| | probe_major_ver);

    dbms_output.put_line('MINOR='| | probe_minor_ver);

    end;

    如果 DBMS 输出窗口显示:

    MAJOR=2

    MINOR=2

则 Oracle Probe API 的版本为 2.2。

数据库版本注释

对于 Oracle 10g 和 11g,您必须拥有 DEBUG CONNECT SESSION 特权,否则 Oracle 不会允许您使用 DBMS_DEBUG。

其他说明

  • 您不能使用评估/修改窗口来修改参数值。
  • 监视程序包变量只适用于 Probe v2.2 或更高版本。

 

开始调试

使用代码 > 调试 > 调试 PL/SQL > 开始调试

您可以在编辑器中调试 PL/SQL 对象。

当您在编辑器中打开一个完整程序包或或在编辑器输入时,默认在单独的选项卡中打开规范和主体。然而,Toad 提供了控制如何拆分、重新汇编和保存对象的选项。请参阅联机帮助中的编辑器选项编辑器打开/保存选项,了解详情。

如要使用调试器完全配合 PL/SQL 或 Java 程序包,您需要用调试信息编译对象。如果您尚未用调试信息进行编译,在 10g 以前的数据库版本中您可以跟踪一个单元,单步执行等等,但是无法查看监视,除非用调试对对象进行编译。在 10g 或更高版本的数据库中,您不能跟踪代码或单步执行,除非用调试对对象进行编译。您只能执行。

此外,如果您调试一个具有依赖对象的对象,则无法跟踪依赖对象,除非依赖对象也使用调试信息进行编译。

要开始调试

  1. 在编辑器中打开一个 PL/SQL 对象。
  2. 单击主工具栏上的 ,或选择会话 (Session )| 切换通过调试编译 (Toggle Compiling with Debug)。这便启用了调试。
  3. 在数据库中编译对象。
  4. 在执行工具栏中选择下列其中一个选项,开始调试:
    • 使用调试器执行 PL/SQL 。
    • 单步 ()
    • 跟踪 ()
    • 运行到游标处 ()

 

设置参数

使用代码 > 调试 > 调试 PL/SQL > 设置参数

您需要先设置部分 PL/SQL 的变量参数,然后才能运行代码。如果未设置这些变量的值,则在运行代码时可能会显示 Oracle 错误。

注:在“设置参数”窗口中输入的值将用于列值,而不是触发器的参数值。设置触发器中的参数

如要设置参数

  1. 选择调试 (Debug) | 设置参数 (Set Parameters)。

  2. 在参数 (Arguments) 网格中输入任何必要的值。

    : 

    当输入类型设置为表达式时,列中的任何内容在匿名块中都按原样使用。例如,这可用于将输入值设置为函数或 SELECT 语句的返回值。

    在 SELECT 语句的情况下,Toad 检测到它是 SELECT 语句,并将所需的 INTO 子句插入到匿名块中。因为代码正在初始化一个变量,因此 SELECT 必须返回单个值(单行、单列),例如以下示例中的计数。

    示例输入表达式:

    SELECT COUNT (*) FROM user_objects WHERE object_name LIKE 'EMP_TEST_%'

    如何转换为匿名块中的输入:

    SELECT COUNT (*)

    INTO var_P1

    FROM user_objects

    WHERE object_name LIKE 'EMP_TEST_%' ;

    表达式 (Expression)Null 互相排斥。如果没有选择这两列,则将值视为字面值。

  3. 选择输出选项 (Output Options) 选项卡以指定您希望如何显示输出。复查以下内容以获得附加信息:
    PL/SQL 结果 选择以下其中一个选项...

    打印输出参数/返回值到 DBMS 输出

    选择此选项以将结果发送到 DBMS 输出 (DBMS Output) 窗口。

    提取游标数据

    选择此选项将参考游标输出加载到内存。如要能够在执行后查看游标数据,必须选择该选项。

    打印到 DBMS 输出(仅字符/数字列)

    选择此选项可从 REF CURSOR 中提取数据并打印数据到 DBMS 输出且每行一行。您也可以选择以下的选项:

    • 固定列宽度(字符)- 选择此选项可修改生成的代码,以将 Oracle RPAD() 函数应用于打印到 DBMS 输出的所有值,从而传递用户指定的宽度。此选项不仅会用空格向右填充值,而且会清空长于指定宽度的值。
    • 每个游标的行提取限制 — 限制提取的行数。适用于 DBMS 输出和表选项。

    注:如果一行长度超过 255 个字符,Toad 将引发异常。该选项仅打印字符/数字数据类型的值。对于其他数据类型,数据类型的名称将打印在方括号内。

  4. 如要重建代码并查看变量,请单击 重要提示!这将重建代码,对匿名块进行的所有更改都将丢失。
  5. 根据需要设置 Profiler 参数。使用 PL/SQL Profiler

 

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating