declare V_num number;
                                        begin
                                        select Count(BARCODE) into V_num  from DRP_CHECK_DETAIL where SYS_DOC_ID='2' and CHECK_ID= 'C120720002' and BARCODE ='JAACU9IE30I01D06XL1' ;
                                        if V_num >0 then
                                           update DRP_CHECK_DETAIL set REAL_QTY ='1001009' where SYS_DOC_ID ='2' and CHECK_ID='C120720002' and BARCODE ='JAACU9IE30I01D06XL1';                                         
                                        else 
                                          insert into DRP_CHECK_DETAIL (SYS_DOC_ID,SYS_DETAIL_ID,CHECK_ID,BARCODE,WAREHOUSE_CODE,ORG_QTY,REAL_QTY,
                                          TRIGGER_TYPE,RETAIL_PRICE,ACCOUNT_PRICE,LAST_UPDATE_DATE,LAST_UPDATE_USER) 
                                          values('2',SYS_DETAIL_ID.NEXTVAL,'C120720002','JAACU9IE30I01D06XL1','1001009','0','1','00','580','580',sysdate,'002');
                                        end if ;
                                        end;

解决方案 »

  1.   

    这么看着  貌似没什么明显错误..  可以将sql都打印出来 看是否报错 或者是代码中的错误?
      

  2.   

    错误信息: 
    ORA-06550: 第 1 行, 第 28 列: 
    PLS-00103: 出现符号 ""在需要下列之一时:
     begin function
       package pragma procedure subtype type use <an identifier>
       <a double-quoted delimited-identifier> form current cursor
      

  3.   

    附:如果是用存储过程这段sql也没问题,但是在代码中直抒执行就出现上面错误