【问题标题】:What to use for input parameter when debugging Oracle Stored Procedure using TOAD debugger使用 TOAD 调试器调试 Oracle 存储过程时输入参数使用什么
【发布时间】:2018-12-02 01:24:32
【问题描述】:

我继承了一个很棒的 600 行存储过程,我需要在其中进行调试。我试图通过右键单击存储过程的名称进行调试,单击使用 sql 调试器执行。这会打开一个表格,我可以在其中手动输入我的参数。伟大的。除了其中一个参数是OracleArray vArray INPUT 参数,我不确定如何实际输入这样的参数作为参数?我对 Oracle 不熟悉。

【问题讨论】:

  • 实际类型是如何定义的?我没有 Toad,但它应该能够通过一些右键单击来显示定义。您需要在测试块中声明其中之一,例如l_something somepackage.sometype := somepackage.sometype('x','y','z');

标签: oracle toad


【解决方案1】:

你的问题没有太多细节,所以我不得不给出一个模糊的答案。以下是调用过程(名为other_procedure)的方法,该过程采用VARRAY 参数或其他复杂设置。一旦你声明了一个测试过程,你就可以用调试器执行它,然后进入你真正关心的过程。

CREATE OR REPLACE PROCEDURE test_procedure IS
  -- (size and type of the varray should match the one in other_procedure)
  TYPE my_array_t IS VARRAY(4) OF VARCHAR2(20); 
  -- define and initialize your array
  test_array my_array_t := my_array_t('one','two','three');
BEGIN
  -- call the procedure
  other_procedure(test_array);
END;
/

如果您仍然遇到问题,请编辑您的问题以提供更多详细信息(如过程定义和可变数组定义),我们可以给出更具体的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2012-11-23
    相关资源
    最近更新 更多