表A
ID  NAME
1   001
2   002我想用sql语句查出从1到99的数据
比如
ID  NAME
1   001
2   002

98
99能实现吗?

解决方案 »

  1.   

    可以,有许多例子可以在本论坛找到,这里再举例一下select b.Id,a.name from a,(select rownum id from user_tab_cols) b
        a.id(+)=a.bid
    具体实现上用b表这样的方式不是很妥当,最好用pipe函数。
      

  2.   

    搜索的关键自能告诉我吗pipe搜不到
    管道也不行
      

  3.   

    sample :
    Create or replace type type_num is table of number;
    create or replace function f_p(p_row in number) return type_num pipelined
    is
    begin
       for i in 1..p_row loop
         pipe row(i);
       end loop;
    end;select * from table(f_p(10));
    COLUMN_VALUE
    ------------
               1
               2
               3
               4
               5
               6
               7
               8
               9
              1010 rows selected
      

  4.   

    select a.rid, b.name
      from (select rownum rid from dual connect by rownum < 100) a, 表A b
     where a.rid = b.id(+);
      

  5.   

    select tmpA.id, A.name 
      from (select rownum id from dual connect by rownum  < 100) tmpA left outer join A on tmpA.id=A.id order by tmpA.id