我试试了一下,没有任何问题
SQL> create or replace procedure prcTest(empno_in in number,empname_in in  varchar2,empcompno_in in 
number)
  2  is
  3    test1   number(5);
  4    test2 varchar2(20);
  5    test3 number(5);
  6  begin
  7    test1:=empno_in;
  8    test2:=empname_in;
  9    test3:=empcompno_in;
 10  end prcTest;
 11  /过程已创建。SQL> execute prcTest(55,'dd',18);PL/SQL 过程已成功完成。

解决方案 »

  1.   

    我没有用过PL/SQL Developer
    在PL/SQL Developer里是这样写的吗/
    begin
      execute prcTest(55,'dd',18);
    end;
    仅仅这样试试
      execute prcTest(55,'dd',18);
      

  2.   

    begin
      prcTest(55,'dd',18);
    end;
    直接执行就行了
      

  3.   

    如果在test里调试的话不要再调用时赋值用缺省给出的调用方法,
    右键点这个存储过程选test菜单项
    会列出来
    begin
      -- Call the procedure
      prctest(empno_in => :empno_in,
              empname_in => :empname_in,
              empcompno_in => :empcompno_in);
    end;
    下边有个窗口,分别列出各个参数,在value列赋值就可以调试了
    CTRL+N进入调试
      

  4.   

    应该没有问题的,你在试试:
    begin
      prcTest(55,'dd',18);
    end;
    或者:
      execute prcTest(55,'dd',18);
      

  5.   

    正如  hqskoala(大晟)  所说,右击存储过程点TEST就可以顺利进行调试可是为什么我在TESTWINDOW里直接运行就不可以呢?如果在PL/SQL Developer里的Command Window或在SQL plus里运行该存储过程也可以得到如  ATGC(这一生受了很多委屈吃了很多苦。。) 所说的成功运行感到奇怪,这是为什么呢?
      

  6.   

    testwindow中要把参数写全的
    begin
      prctest(empno_in => :empno_in,
              empname_in => :empname_in,
              empcompno_in => :empcompno_in);
    end;
    这样写
    begin
    prctest(12,'222',13); 
    end;也没有错误,但是不能出现execute
      

  7.   

    to bluelamb(bluelamb) .
    那样也不行......
      

  8.   

    我以前很喜欢用存储过程,但现在不用了,想一想,如果将数据库从oracle移植到sql2000,,
    你的存储过程怎样改?
      

  9.   

    -- Created on 11/5/2004 by XIAOCHUN 
    declare 
      -- Local variables here
      i integer;
    begin
      -- Test statements here
      prcTest (1,'1',1);
    end;
      

  10.   

    应该是没有编译,编译完了就没有问题.
    begin
      proc;
    end;
      

  11.   

    一样有问题啊.我肯定编译了.右击点TEST就可以执行.直接在TestWindow里写就不行.
    是不是要对TestWindow要进行什么设置啊?
      

  12.   

    试过了没有问题
    begin 和  end 之间不要用exec,直接写过成名就行了