create function jiecheng1
return pls_integer
as
 i pls_integer :=1;
 j pls_integer :=1;
 begin
 for  j in 1..6
 loop
 i:=i*2;
 end loop;
 dbms_output.put_line(i);
 end;

解决方案 »

  1.   

    晕,你这是函数吗?连返回值都没有。这样:
    CREATE OR REPLACE function jiecheng1
    return pls_integer
    as
     i pls_integer :=1;
     j pls_integer :=1;
     begin
     for  j in 1..6
     loop
     i:=i*2;
     end loop;
     --dbms_output.put_line(i);
     return i;
     end;
    /
      

  2.   

    SQL> @jiecheng1.sql警告: 建立的函數含有編譯錯誤.
      

  3.   

    如果楼主只是想得到2的6次方,可以这样
    SQL> select power(2,6) from dual;POWER(2,6)
    ----------
            64已用时间:  00: 00: 00.00
    如果楼主是想学习写函数的话,参考这个
    CREATE OR REPLACE function JIECHENG1
    RETURN NUMBER is
     i number :=1;
     j number :=1;
    BEGIN
     for  j in 1..6 loop
      i:=i*2;
     end loop;
     return i;
    END jiecheng1;
    执行:
    SQL> SELECT JIECHENG1 FROM DUAL; JIECHENG1
    ----------
            64已用时间:  00: 00: 00.20