我现在设计了这样一个数据库,其中有这样两个表有如下关系:
(SQL server2000)学生表(
  学生ID primary key, 
  学生姓名,
  性别,
  年龄,
  ...,
  家庭ID foreign references 家庭成员表(成员ID),
  ...
)家庭成员表(
  成员ID primary key,
  成员名,
  与学生的关系,
  工作单位,
  ...
)关于家庭成员表的触发器如何设计以便让学生表更新时随之修改!!

解决方案 »

  1.   

    这也许有用:
    下面举例说明ORACLE数据库存储过程的写法和用法。 
    可以建立一个存储过程,每当用户修改数据库的重要数据时,即把 
    用户的用户名、掌诤筒僮骼嘈图锹枷吕矗?nbsp;
    create procedure update_log is 
    begin 
    insert into update_log_tab(use_name,update_date,operation) 
    values(user,sysdate,'update' 
    end; 
    可以在恰当的位置调用这个存储过程来记录用户对表的修改。例如下面在 
    表sal_comm上建立一个修改触发器,每当用户修改此表后,用户的名称、修改 
    时间和操作即被记录在了表update_log_tab中: 
    create trigger audit_update 
    after update on sal_comm 
    for each row 
    begin 
    update_log 
    end 
      

  2.   

    create trigger audit_update on 家庭成员表
    for update
    as
    update 学生表 a
    set a.家庭ID = inserted.家庭ID
    from inserted,deleted
    where a.家庭ID = deleted.家庭ID