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

Plsql 如何从参数文件中获取记录,plsql,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;

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

先谢谢你

  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;
/

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

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;
/
分享和享受