版主,能否把这个问题置顶啊,虽然问题比较简单.不过对于初学者应该都很有用处,这里是个学习的地方嘛,不见要是很牛B的问题才有计论价值,往往这种基础但又很有用处的问题也能带来很多方便,是不是?

解决方案 »

  1.   

    1.使用动态sql:  (当然要先定义一个参考游标,)
       
    create or replace function(p_tablename varchar2) return ref cursor as 
       strsql varchar2(300);
    begin 
        strsql:='select * from '||p_tablename;
        open c for strsql;
    ....
    end ;
    2.在oracle中的索引使用稍微复杂点. 在满足需求的前提下,尽量使用索引,如:select * from table a where a.id=3;   这要求table 上的id字段建索引,系统会自动使用索引, 当然也可以不使用索引,select * from tablename a where to_char(a.id)='2';3.使用类似下面的用法:
    insert into tablename select * from table2 where .....
    要求tablename和table2的字段类型和字段数目相同.