1

我正在使用 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
4

1 回答 1

6

只是为了澄清:没有“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;
于 2012-09-27T07:02:35.710 回答