知识大全 OraclePL/SQL过程调试的输出方法

Posted

篇首语:学向勤中得,萤窗万卷书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 OraclePL/SQL过程调试的输出方法相关的知识,希望对你有一定的参考价值。

OraclePL/SQL过程调试的输出方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   最基本的DBMS_OUTPUT PUT_LINE()方法

  随便在什么地方 只要是BEGIN和END之间 就可以使用DBMS_OUTPUT PUT_LINE(output);然而这会有一个问题 就是使用该函数一次最多只可以显示 个字符 否则缓冲区会溢出

  此外 函数DBMS_OUTPUT ENABLE( )这种函数 仅仅是设置整个过程的全部输出缓冲区大小 而非DBMS_OUTPUT PUT_LINE()的缓冲区大小

  对于超过 个字符的变量 使用DBMS_OUTPUT PUT_LINE()方法是没有效的 据说在Oracle 中 解除了这个限制 可以输出任意大小的字符串

  declare

  output varchar ( );

  begin

  output:= ; //赋值

  DBMS_OUTPUT PUT_LINE(output);

  end;

   使用表的方法

  首先建立一张表 然后在PL/SQL中将要输出的内容插到表中 然后再从表中查看内容 对于这种方法一次可以输出几千个字符

  ( ) create table my_outputid number( ) txt varchar ( )  );

  ( ) declareoutput varchar ( );strSql varchar ( );count number( ):= ;beginstrSql:= delete * from my_output ;EXECUTE IMMEDIATE strSql;output:= ; //赋值count:=count+ ;strSql:= Insert into my_output value (count ||output|| ) ; 在单引号中相当于字符 EXECUTE IMMEDIATE strSql;end;

   使用输出文件的方法

  如果变量非常大 以致连使用表都没有办法插入时 只有使用文件方式了

  ( ) create or replace directory TMP as d:\\testtmp ;

   建立一个文件夹路径

  ( ) declare

  file_handle UTL_FILE FILE_TYPE;

  output varchar ( );

  begin

  output:= ;

  file_handle := UTL_FILE FOPEN( TMP output txt w [ ]);

   四个参数 目录 文件名 打开方式 最大行数(默认为 )

  UTL_FILE PUT_LINE(file_handle output);

  UTL_FILE FCLOSE(file_handle);

  exception

  WHEN utl_file invalid_path THEN

  raise_application_error( ERROR: Invalid path for file or path not in INIT ORA );

cha138/Article/program/Oracle/201311/17423

相关参考