是否有可能在PL / SQL开发人员测试窗口的'declare'块中声明子过程?

问题描述 投票:0回答:1

我需要测试在is块中具有几个子过程的存储过程。我已将所有内容复制到测试窗口,但是,将这些子过程放在declare块中似乎无效。当我尝试从begin块调用它们时,收到一条错误消息,指出它们尚未声明。除了将is的内容移动到declare之外,我没有做任何其他更改。我该怎么办?

oracle plsql plsqldeveloper
1个回答
4
投票

但是您可以声明过程:

1)您声明时不带“创建或替换”关键字2)如果在同一块中声明任何变量,则必须在最后一个变量声明之后声明所有过程和函数。

例如,这个:

declare

   some_text varchar2(10) := 'SOME_TEXT';

   procedure print_4 is 

      x number := 4;
   begin
      dbms_output.put_line(x);
   end print_4;
begin
   print_4;
end;

是有效的pl / sql块,而这是:

declare

   procedure print_4 is 

      x number := 4;
   begin
      dbms_output.put_line(x);
   end print_4;

   some_text varchar2(10) := 'SOME_TEXT';
begin
   print_4;
end;

不是。

如果发布代码,我们可能还会发现其他错误。

© www.soinside.com 2019 - 2024. All rights reserved.