update  abc set quantity=100 where code='10000';

解决方案 »

  1.   

    CREATE OR REPLACE TRIGGER "INPBILL"."INP_BILLL_DETAIL_UPDATE_DUMMY" AFTER UPDATE OF "AMOUNT", "
    BILL_FLAG", "PHAM_STD_CODE" ON "INPBILL"."INP_BILL_DETAIL" REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN
      2    IF :new.bill_flag=2 THEN
      3      UPDATE pharmacy.inp_dispensary_stock SET
      4        pham_name='abcde'
      5      WHERE pham_std_code=:old.pham_std_code;
      6    END IF;
      7  END;
      8  /Warning: Trigger created with compilation errors.为什么老是出现编译错误,但是没有错误提示
      

  2.   

    :new.bill_flag=2  是字符串还是整数?
      

  3.   

    INPBILL用户是否有访问pharmacy用户表的权限??
      

  4.   

    用show error显示具体的错误信息,贴出来。
      

  5.   

    no select row
    因该是没有错误吧
      

  6.   

    用show error  只能显示这么一点信息吗?我觉得语句写的有不对的地方. 如果是 after 的话, 哪还有 old. 的用法? 能定位的到吗? 
     
    直接用  pham_std_code 或 new.pham_std_code 差不多. 另外, WHERE pham_std_code=:old.pham_std_code  中的前者最好能加上
    限定词, 指明是哪一个角色的哪个表的.这个也可能是不能定位的原因