确实是不可以的You cannot constrain the datatype of a parameter. For example, the following declaration of acct_id is illegal because the datatype CHAR is size-constrained: PROCEDURE reconcile (acct_id CHAR(5)) IS ...  -- illegalHowever, you can use the following workaround to size-constrain parameter types indirectly: DECLARE 
   SUBTYPE Char5 IS CHAR(5);
   PROCEDURE reconcile (acct_id Char5) IS ...
也就是说,如果你想用Number(9,2) 就先给它定义一个类型吧
比如DECLARE 
   SUBTYPE Number IS Number(9,2);语法就是这样,没有为什么……

解决方案 »

  1.   

    上面的改为:DECLARE 
       SUBTYPE Number92 IS Number(9,2);
      

  2.   

    可以了!!不用去管他!!就是Number类型,你调用的时候尽管传入11.32这样浮点数就是了!!
      

  3.   

    确实是不可以的.
    就想定义varchar2一样,不能定义长度.
      

  4.   

    赞同 doulikeme(来去无踪)的说法,定义的时候不可以确定精度,如果一定要确定精度,只能采取间接的方式。
      

  5.   

    参数不能定义长度.
    只能用number , varchar2