1.用级联 
2.
3.create trigger d_a
  on a表
  for delete
  as 
      delete from b表 b inner join deleted d on b.人事编码=d.人事编码
  go

解决方案 »

  1.   

    1.
    Select A.*,B.考核起始时间,B.结束时间,B.内容 from A Inner Join B On A.人事编码=B.人事编码2.在A表写一个插入的trigger3.在A表写一个删除的trigger
      

  2.   

    那第二步如何实现呀?
    ----是不是在a插入时,b表也插入,但后面的字段怎么办?
    create trigger d_a
      on a表
      for insert
      as 
          insert into B表(人事编码) select 人事编码 from inserted
      go
      

  3.   

    补充:
    2.
    Create Trigger InsertB On A
    For Insert
    As
    Begin
        Declare @RenShiCode Nvarchar(20)
        Select @RenShiCode=人事编码 from Inserted
        Insert B (人事编码) Values(@RenShiCode)
    End
    GO3.
    Create Trigger DeleteB On A
    For Delete
    As
    Begin
    Delete from B Where B.人事编码=(Select 人事编码 from Deleted)
    End
    GO
      

  4.   

    --1.建表时用级联更新和删除(解决1,3点问题)
    create table A表(
    id int identity,
    人事编码 char(4) primary key,
    姓名 nvarchar(10) not null)create table B表(
    id int identity,
    人事编码 char(4) foreign key 
    references A表(人事编码) 
    on update cascade 
    on delete cascade,
    考核起始时间 varchar(7),
    结束时间 varchar(7),
    内容 nvarchar(4000))
    go--创建处理触发器(解决2的问题)
    create trigger tr_insert on A表
    for insert
    as
    insert B表(人事编码,考核起始时间,结束时间,内容)
    select 人事编码,'1995.1','1995.12',N'XXXXXXX'
    from inserted
    go