比如  开始一个计时执行一个function结束计时 输出时间 就想得到执行function所花费的时间

解决方案 »

  1.   

    create or replace function f_time return number is  stime date;
      etime date;
      m     number;
      n     number;
    begin
      stime := sysdate;
      for i in 1 .. 9999999 loop
        n := n + i;
      end loop;  etime := sysdate;
      m     := (etime - stime) * 24 * 60 * 60;
      dbms_output.put_line('共花费' || m || '秒');
      return m;
    end;
      

  2.   

    你的要求应该是这个:
    create or replace function f_time return number is
      n number := 0;
    begin
      for i in 1 .. 9999999 loop
        n := n + i;
      end loop;
      return n;
    end;
    /
    declare
      stime date;
      etime date;
      m     number;
      n     number;
    begin
      stime := sysdate;
      n     := f_time;
      etime := sysdate;
      m     := (etime - stime) * 24 * 60 * 60;
      dbms_output.put_line('共花费' || m || '秒');
    end;
      

  3.   


    sqlplus 下set timing onselect fun() from dual执行时间 :xxxxxx