oracle里面有没有求一个记录集当中记录数的函数,
比如说我用一个select语句生成一个记录集,然后我想通过一个函数求出这个纪录集的记录数。

解决方案 »

  1.   

    select count(*) from (select * from t where id=1);这样不就可以了。也可以自己写个函数,然后里面差不多实现
      

  2.   

    select count(*) from tab
      

  3.   

    就是想把mysql语句转换成oracle的
    mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
           WHERE id > 100 LIMIT 10;
    mysql> SELECT FOUND_ROWS();
      

  4.   

    select rownum,t.* from table t 
    可以看到每一行的編號,最大行也可以看到..
      

  5.   

    create or replace function f_rlt_num(in_tab_name in varchar2,in_cond in varchar2)
    return number
    is
      v_sql_str varchar2(500);
      v_count number(10);
    begin
      v_sql_str:='select count(1) from ' || in_tab_name || ' ' || in_cond;
      execute immediate v_sql_str into v_count;
      return v_count;
    end f_rlt_num;
    /SELECT f_rlt_num('USER_TABLES','WHERE tablespace_name=''USERS''') from dual;