本帖最后由 spier001 于 2011-04-27 08:37:20 编辑

解决方案 »

  1.   

    CASCAD,在表之间建立参考完整性的约束,保证数据的一致性删除、更新
      

  2.   

    21.1. CREATE TRIGGER语法
    CREATE TRIGGER trigger_name trigger_time trigger_event
        ON tbl_name FOR EACH ROW trigger_stmt
    触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。触发程序与命名为tbl_name的表相关。tbl_name必须引用永久性表。不能将触发程序与TEMPORARY表或视图关联起来。trigger_time是触发程序的动作时间。它可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发。trigger_event指明了激活触发程序的语句的类型。trigger_event可以是下述值之一:·         INSERT:将新行插入表时激活触发程序,例如,通过INSERT、LOAD DATA和REPLACE语句。·         UPDATE:更改某一行时激活触发程序,例如,通过UPDATE语句。·         DELETE:从表中删除某一行时激活触发程序,例如,通过DELETE和REPLACE语句。
      

  3.   


    CREATE TRIGGER Setpid after update ON providerback
       FOR EACH ROW   
       BEGIN   
             set ...;    END  
    这个set语句怎么写啊
      

  4.   

    采购单表:stock(int sid,int pid)
    退货单表:pback(int pbid,int sid,int pid)如果SID是STOCK表的主键,则在pback中这个PID字段属于冗余字段,根本就不需要。
      

  5.   

    create  trigger tri_setpid_a_u  before update on providerback
    for each row
    begin
    update  providerback  set  Pid=stockinfo.Pid where stockinfo.Sid= new.sid;end
    语法果了,但是更新不了数据报错。
      

  6.   

    create  trigger tri_setpid_a_u  before update on providerback
    for each row
    begin
    select Pid into new.Pid from stockinfo where Sid= new.sid;
    end