目前想写一个触发器,当一个数据库a中有一张表fbi_buzi_return中的某一字段buzi_type = '1' 时,更新另外一个数据库jdcztest中的cp_voucher表中的deal_state=‘3‘ 下面是我写的触发器,但是编译不通过,不知道怎么写,求指教
create or replace trigger trigger_fbi_buzi_return_update
  after  INSERT OR UPDATE ON fbi_buzi_return
  FOR EACH ROW
  
when (new.buzi_type = '1' )
DECLARE
  BEGIN
   UPDATE jdcztest.cp_voucher
     SET deal_state = '3'
   WHERE old.jdcztest.cp_voucher.cp_voucher_id = :new.gfmis_jk.fbi_buzi_return.buzi_id;
  END trigger_fbi_buzi_return_update;

解决方案 »

  1.   

    create or replace trigger trigger_fbi_buzi_return_update
      after  INSERT OR UPDATE ON fbi_buzi_return
      FOR EACH ROW
    DECLARE
    BEGIN
       UPDATE cp_voucher@jdcztest
         SET deal_state = '3'
       WHERE [email protected]_voucher_id = :new.buzi_id;
    END trigger_fbi_buzi_return_update;jdcztest是你创建的指向jdcztest库的db link的名字(应该知道怎么建吧?不知道可以百度下)。
      

  2.   

    ++
    create or replace trigger
    declare
    begin
        null
    endcreate database link xxx connect to xxx identified by xxx using "xxx"