我定义了一个存储过程,但是在调用的时候出现了问题,不知道如何传递参数call myPro('123');  提示参数的类型或个数错误
declare mystr varchar(20);
mystr:='123';       提示在=号附近有语法错误
call myPro(mystr);我该如何调用呢?

解决方案 »

  1.   

    declare 
      mystr varchar(20);
    begin
      mystr := '123';     
      call myPro(mystr); 
    end;
      

  2.   

    是,这是一个程序块,包含定义部分、执行部分,定义部分用declare标识,执行部分用begin...end标识
      

  3.   

    begin和end之间的内容的多少是有限制的,当他们之间放置N个处理语句时,系统就会提示程序过大,这个限制在Oracle里能不能设置一下呢?
      

  4.   

    还没遇到过这个问题,那你就嵌套几个begin...end试试,格式如下:
    begin
    ...
    begin
    end;
    ...
    ...
    begin
    end;
    ...
    end;
      

  5.   

    你一个过程会有多长?没遇到过,不知道Oracle的限制