把要查询的字段,或者表当作参数
过程中用动态sql来实现查询功能

解决方案 »

  1.   

    可以返回结果集:cursor如果你返回字符串的话,限制比较大,返回字符串的最大长度是受限制的。如果写文本文件的话,使用包utl_file
      

  2.   

    在过程中用utl_file来操作文本文件.
      

  3.   

    如何在PL/SQL中读写文件:
    实现方法: 
    PL/SQL 3.3以上的版本中,UTL_FILE包允许用户通过PL/SQL读写操作系统文件。如下: declare
    file_handle UTL_FILE.FILE_TYPE;
    begin
    file_handle := UTL_FILE.FOPEN('/tmp', '文件名', 'w');
    UTL_FILE.PUTF(file_handle, '写入的信息\n');
    UTL_FILE.FCLOSE(file_handle);
    Exception
    WHEN utl_file.invalid_path THEN
    raise_application_error(-20000, 'ERROR: Invalid path for file or path not in INIT.ORA.');
    end; 
    PutF()过程用来以指定格式把文本写入一个文件
    Put_Line()过程把一个指定的字符串写入文件并在文件中开始新的一行
      

  4.   

    DECLARE
       TYPE t_refcur IS REF CURSOR ;
       v_sql VARCHAR2(32767);
    BEGIN
       
       v_sql := ' SELECT ' || fld1 || ',' || ... || fldn ' FROM table1 ';   OPEN t_refcur FOR v_sql ;
       
    END;