在 TOAD 中执行 Oracle 程序

Posted

技术标签:

【中文标题】在 TOAD 中执行 Oracle 程序【英文标题】:Execute Oracle procedure in TOAD 【发布时间】:2012-09-27 06:44:13 【问题描述】:

我正在使用 TOAD 编写一个 Oracle 过程。我使用执行语句执行了该过程。但我无法得到结果。而不是只得到错误。请帮助如何在 TOAD 中运行该程序。我是蟾蜍和甲骨文的新手。

oracle 中的过程

create or replace procedure pro_dndtesting( phone number)is 
begin
select  FLD_PHONENUMBERS from smsdnd_tbl where FLD_PHONENUMBERS=phone;
end ;
/

执行过程如下

exec procedure pro_dndtesting(9865015695)

error

ORA-06550: line 1, column 7:
PLS-00201: identifier 'PRO_DNDTESTING' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

【问题讨论】:

【参考方案1】:

澄清一下:没有“甲骨文蟾蜍”之类的东西。 Oracle 是 RDBMS,而 TOAD 是 Oracle 数据库的客户端。

您的过程不会像您编写的那样编译,因为您没有为 SELECT 提供 INTO 子句(因为 PL/SQL - 与普通 SQL 不同 - 需要 SELECT 结果的“目标”) ;试试这个:

create or replace procedure pro_dndtesting( phone number)is 
  l_value smsdnd_tbl.fld_phonenumbers%type;
begin
  select  FLD_PHONENUMBERS 
    into l_value 
    from smsdnd_tbl 
   where FLD_PHONENUMBERS=phone;
end ;

至于你得到的错误:

您是否使用相同的架构 (=user) 来定义和调用过程?

您是否从匿名 PL/SQL 块中尝试过,例如

begin
  pro_dndtesting(9865015695);
end;

【讨论】:

以上是关于在 TOAD 中执行 Oracle 程序的主要内容,如果未能解决你的问题,请参考以下文章

Toad Oracle Pl/sql 调试作为从断点跳转到断点

oracle sql (toad) - 执行多个查询,保存到单个 excel 文件

oracle delete 锁

toad for oracle - 在调试/执行期间执行查询

在 toad for oracle 中明智地获取执行 id 的数量

Toad for Oracle安装