我在更新批量数据时,建临时表aaa
create table AAA
(
  A VARCHAR2(40),
  B VARCHAR2(40),
  C VARCHAR2(40),
  D VARCHAR2(40),
  E NUMBER(9,4),
  F NUMBER(9,4),
  G VARCHAR2(40)
)
,将数据存入aaa中,
然后在plsql的test中写如下代码:
-- Created on 2009-3-19 by 肖子杰 
declare 
  a aaa.a%type;--名称
  d aaa.d%type;--后处理
  e number(9,4);--价格
  f number(9,4);--扣率
  cursor yb is select a.a,a.e,a.f,a.d from aaa a;
  sqlss varchar2(500);
begin
  open yb;
  loop
      fetch yb into a,e,f,d;
      exit when yb%notfound;
      
     -- update spl_dyeprice set spl_dyeprice.price=e,spl_dyeprice.dyekl=f where spl_dyeprice.dyefactoryid=d and spl_dyeprice.materialtypestruc=a;
      
      sqlss:='update spl_dyeprice set price='||e||',dyekl='||f||' where dyefactoryid='''||d||''' and materialtypestruc='''||a||'''';
      execute immediate sqlss;
  end loop;
  close yb;
  
end;
结果正常使用,但是单独使用被注释掉的那一行,则提示错误:无效的数字,不知道为什么