可以的:
SQL> create or replace function f (n positive) return integer is
  2  begin
  3   if n = 1 then
  4   return 1;
  5   else
  6   return n * f(n - 1);
  7   end if;
  8  end f;
  9  /Function createdSQL> select f(10) from dual;     F(10)
----------
   362880010的阶乘呵呵、好像for win2k的也可以装xp上吧,我没试过。

解决方案 »

  1.   

    oracle for win2k 也可以装在xp上,没有专门 for XP 版本
      

  2.   

    那请教上面的,在PL/SQL中是否有指针类型的数据类型,和多维数组
      

  3.   

    oracle for win2k 可以装在xp上
      

  4.   

    在oracle没有指针类型,多维数组只有在oracle9i支持.
      

  5.   

    positive是binary_integer中的一种子类型,受限制!还包括以下类型natural         0..2147483647
    naturaln        0..2147483647  not null
    positive        1..2147483647
    positiven       1..2147483647  not null
    signtype        -1,0,1
      

  6.   

    没有专门 for XP 版本的ORACLE
      

  7.   

    请教上面,那么1维数组在PL/SQL上有吗?谢谢
      

  8.   

    如果没有为XP的版本,那么什么版本的可以装在XP上?
      

  9.   

    for nt下的版本都可支持xp.其它版本当然可以支持组,type t_var is varray(50) of number;
      

  10.   

    谢谢
    那么2维的数组可不可以声明,可以动态的说明一个数组的长度,比如
    a(i),i是一个变量,谢谢回答,我再提个问题再送分给大家!
      

  11.   

    declare
    TYPE t_Numbers IS TABLE OF NUMBER
        INDEX BY BINARY_INTEGER;
        
      -- Now declare a type which is an index-by table of t_Numbers.
      -- This is a multilevel collection.
      TYPE t_MultiNumbers IS TABLE OF t_Numbers
        INDEX BY BINARY_INTEGER;
    v_MultiNumbers t_MultiNumbers;
    begin
    v_MultiNumbers(1)(1) := 12345;
    end;
    /