如何从参数文件中获取记录

时间:2014-04-02 15:12:28

标签: plsql

您好我想知道在使用参数文件时如何获取记录。 我的脚本是这样的。当我执行它时,我收到了错误消息。请帮我修复这个脚本。

提前谢谢

  CREATE OR REPLACE PROCEDURE testappt
  (
   XFILE IN VARCHAR2
   ) is

   xfpt varchar2(1):='F';

   TYPE curtype IS REF CURSOR;
   appt_cur   curtype;
   appt_rec  appt_cur%ROWTYPE; -- error

BEGIN

  open appt_cur for  'SELECT * FROM ' || xfile || ' where fpt!= :xfpt ' using xfpt;
  loop

      fetch appt_cur into appt_rec  -- error
      exit when appt_cur%not found; -- error

    execute immediate  'update ' || xfile || ' set apptgrp=46' || 'where reptrc=6269' ||     
   'and og=trim(0||6)' || 'and trim(a_jc)=2876';
    commit;

  end loop;     
end testappt;
/

1 个答案:

答案 0 :(得分:0)

看起来你的文字中需要一些空格。尝试:

CREATE OR REPLACE PROCEDURE testappt
  (
   XFILE IN VARCHAR2
   ) is

   xfpt varchar2(1):='F';

   TYPE curtype IS REF CURSOR;
   appt_cur   curtype;
   appt_rec  appt_cur%ROWTYPE; -- error

BEGIN

  open appt_cur for  'SELECT * FROM ' || xfile || ' where fpt!= :xfpt ' using xfpt;
  loop

      fetch appt_cur into appt_rec  -- error
      exit when appt_cur%not found; -- error

    execute immediate  'update ' || xfile ||
                        ' set apptgrp=46' ||
                        ' where reptrc=6269' ||     
                        ' and og=trim(0||6)' ||
                        ' and trim(a_jc)=2876';
    commit;

  end loop;     
end testappt;
/

分享并享受。