各位好:现在在oracle9i中写了一个非常简单的存储过程,就是存储过程的输入参数是手机号码,根据这个输入,从表中查询出有这个号码的所有记录,
存储过程如下:
 CREATE OR REPLACE PROCEDURE TESTD(PARA1 IN VARCHAR2) AS
 SELECT * FROM KFWEB_OPERATELOG WHERE PHONE_NO=PARA1;其中TESTD是存储过程过程的名字,KFWEB_OPERATELOG 是表名,PHONE_NO是一个字段名,类型是varchar2

这条语句运行成功,但是带有警告(我这个工具没有办法看到警告信息)刷新存储过程的文件夹也是空的,运行代码调用这个存储过程,出现异常:这个存储过程是无效的,说明存储过程没有被建立。想请问一下各位,怎么写才能让这个存储过程完全正确,谢谢!!!

解决方案 »

  1.   

    不知道你要实现什么东西,而且不知道你用什么工具,没有用pl/sql developer吗,建议用这个看看吧。
      

  2.   

     CREATE OR REPLACE PROCEDURE TESTD(PARA1 IN VARCHAR2) AS 
    begin
     SELECT * FROM KFWEB_OPERATELOG WHERE PHONE_NO=PARA1; 
    end;
      

  3.   

    另外,加上begin和end也有点问题就是存储过程的数据块内部语句不能只是单纯的select 语句;至少需要点into啥的;^_^
      

  4.   

     CREATE OR REPLACE PROCEDURE TESTD(PARA1 IN VARCHAR2) AS  
    begin 
     SELECT * FROM KFWEB_OPERATELOG WHERE PHONE_NO=PARA1;  
    end; 试试看呢~没测试也不清楚CREATE OR REPLACE PROCEDURE TESTD(PARA1 IN VARCHAR2) IS
    TEST VARCHAR2(50);
    BEGIN
       SELECT COUNT(1) INTO TEST FROM KFWEB_OPERATELOG WHERE PHONE_NO=PARA1;
    END TESTD;