在TOAD中执行Oracle过程

时间:2012-09-27 06:44:13

标签: oracle toad

我正在使用TOAD编写Oracle过程。我使用execute语句执行了该过程。但我无法得到结果。而不仅仅是错误。请帮助如何在TOAD中运行该过程。我是toad和Oracle的新手。

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 个答案:

答案 0 :(得分:5)

只是澄清:没有“Oracle Toad”这样的东西。 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;