同理 建立的 
CREATE OR REPLACE FUNCTION TestPass
RETURN number ASnum number(10) ;
BEGIN
  select 3**3 into num  from dual;
  return num;END TestPass;为什么编译通过 ,执行出错

解决方案 »

  1.   

    select 3**3 from dual
    是什么?楼主自己造的运算符**?
      

  2.   

    自己造的语法当然不行了。要用 select power(5,3) from dual;<=>select 5*5*5 from dual;
      

  3.   

    oracle没有这样的运算符。
    楼上说的对,用函数POWER(3,3)。
      

  4.   

    嗬嗬,直接把PERL的幕运算符搬到了Oracle,赫赫。
    LZ也是一个强人呀。
      

  5.   

    对阿。怎么能把其他语言的语法套在oracle上用阿。呵呵```
      

  6.   

    我看oracle 8书有这样的 语法