触发器无效且未通过重新验证

1)ORA-04098: 触发器 'HD633.tr_insert_saleinvoice' 无效且未通过重新验证;
2)触发器代码:
CREATE OR REPLACE TRIGGER "HD633"."tr_insert_saleinvoice"
AFTER INSERT ON HD633.SO_SALEINVOICE_B
BEGIN
UPDATE SO_SALEINVOICE_B VBDEF1=XSBJD.VBDEF2,VBDEF2=XSBJD.VBDEF4
FROM SO_SALEQUOTATION_B XSBJD,CT_SALE_B XSHT,SO_SALEORDER_B XSDD, SO_SALEINVOICE_B XSFP
WHERE XSBJD.PK_SALEQUOTATION_B=XSHT.CSRCBID AND XSHT.PK_CT_SALE_B=XSDD.CFIRSTBID AND XSDD.CSALEORDERBID=XSFP.CFIRSTBID
AND XSFP.VBDEF1 IS NULL AND XSFP.VBDEF2 IS NULL
END
表明解释:
SO_SALEQUOTATION_B XSBJD 销售报价单
CT_SALE_B XSHT 销售合同
SO_SALEORDER_B XSDD 销售订单
SO_SALEINVOICE_B XSFP 销售发票
销售报价单 推出 销售合同,销售合同 推出 销售订单,销售订单 推出 销售发票
3)BEGIN……END部分意图:SO_SALEINVOICE_B(销售发票)表中插入新行时,从SO_SALEQUOTATION_B(销售报价单)表中取两项内容过来。

第1个回答  2015-07-06
SQL有问题,update SO_SALEINVOICE_B set ......
缺少Set 关键字追问

1)感谢;
2)修改后还报同样的问题,请帮忙再看看;

本回答被网友采纳
相似回答