日期:2014-05-17  浏览次数:20853 次

看书时遇到的一个问题!
Oracle SQL 高级编程 第三章 访问和联结的方法
有一句这样的代码
get space_usage.sql
执行报错
SP2-0160:无法打开"space_usage.sql"
刚开始以为是权限的问题,无权打开,结果切换到dba还是报这个错误往高手解答
还有一个问题,执行下面语句

declare
    l_tabname   varchar2(30):='&1';
    l_fs1_bytes number;
    l_fs2_bytes number;
    l_fs3_bytes number;
    l_fs4_bytes number;
    l_fs1_blocks number;
    l_fs2_blocks number;
    l_fs3_blocks number;
    l_fs4_blocks number;
    l_full_bytes number;
    l_full_blocks number;
    l_unformatted_bytes number;
    l_unformatted_blocks number;
begin
   dbms_space.space_usage(
    segment_owner =>  user,
    segment_name  => l_tabname,
    segment_type => 'TABLE',
    fs1_bytes    => l_fs1_bytes,
    fs1_blocks   => l_fs1_blocks,
    fs2_bytes    => l_fs2_bytes,
    fs2_blocks   => l_fs2_blocks,
    fs3_bytes    => l_fs3_bytes,
    fs3_blocks   => l_fs3_blocks,
    fs4_bytes    => l_fs4_bytes,
    fs4_blocks   => l_fs4_blocks,
    full_bytes   => l_full_bytes,
    full_blocks  => l_full_blocks,
    unformatted_bytes => l_unformatted_bytes,
    unformatted_blocks => l_unformatted_blocks
    );
    dbms_output.putline('0-25% Free = '|| l_fs1_blocks ||' Bytes= ' || l_fs1_bytes);
    dbms_output.putline('25-50% Free = '|| l_fs2_blocks ||' Bytes= ' || l_fs2_bytes);
    dbms_output.putline('50-75% Free = '|| l_fs3_blocks ||' Bytes= ' || l_fs3_bytes);
    dbms_output.putline('75-100% Free = '|| l_fs4_blocks ||' Bytes= ' || l_fs4_bytes);
    dbms_output.putline('Full Blocks = '|| l_full_blocks ||' Bytes= ' || l_full_bytes);
   end;

报putline必须声明组件....
本人刚开始自学oracle,希望有人指点一下
oracle sql

------解决方案--------------------

putline 改成 put_line 
------解决方案--------------------