declare
cursor t_sor is
select file_name from sys.dba_data_files;
begin
for v_sor in t_sor loop
dbms_output.put_line(v_sor.file_name);
end loop;
end;
/

解决方案 »

  1.   

    我已试过BECKHAM的方法,通过!
      

  2.   

    我建了游标
    cursor is 
     select file_name 
     from sys.dba_data_files;
    .....
    的,还是报错。而同样的程序,在sys用户下建立的就没有问题!!我现在的登入用户是system
      

  3.   

    按说不应该是权限的问题
    但是觉得又很像试一下吧:
    connect internal/oracle
    grant select on sys.dba_data_files to system;
    connect system/manager
      

  4.   

    bzszp(SongZip) 我按你的方法做了,通过了编译,谢谢!
    但为什么呢??没理由啊!同样的sql语句,我用sqlplus可以查询的!!(用户为system,再没有授权之前就可以)
      

  5.   

    beckhambobo(beckham) 一楼的错,
    Error: PLS-00201: 必须说明标识符'SYS.DBA_DATA_FILES'
    Line: 10
    Text: from sys.dba_data_files