我写的触发器如下:
CREATE TRIGGER [ClassInforDeleteTrigger] ON dbo.tb_ClassInfor 
FOR DELETE 
ASDECLARE @tb_ClassInforId VARCHAR(10)
SELECT @tb_ClassInforId =  BH FROM deleted--备份班级信息到bak_ClassInfor中
INSERT INTO bak_ClassInfor (BH,BJMC,BJRYCH,JBNY,XZ,BJLX,BZR,BZ) SELECT BH,BJMC,BJRYCH,JBNY,XZ,BJLX,BZRXM,BZXM FROM view_ClassInfor WHERE BH =  + @tb_ClassInforId但是当删除tb_ClassInfor中的一条记录后,并没有被分到bak_ClassInfor中
请高手赐教:问题出在何处?如何解决?

解决方案 »

  1.   

    view_ClassInfor  是tb_ClassInfor 的视图吗,都删除了,还能查询到吗?
      

  2.   

    哦,对了,有什么办法在删除之前备份数据到bak_ClassInfor 中呢?
    最好写法简单些(要备份的东西,部分在view_ClassInfor存在而tb_ClassInfor没有)
      

  3.   

    TO : zhangshengyu(zhangshengyu)我又在触发器中把deleted表建成view_deleted,然后把view_deleted中的信息备分到bak_ClassInfor 中,但是太麻烦了,可能还会影响效率,你有没有更好的办法?
      

  4.   


    直接取deleted表的不行吗?INSERT INTO bak_ClassInfor (BH,BJMC,BJRYCH,JBNY,XZ,BJLX,BZR,BZ) SELECT BH,BJMC,BJRYCH,JBNY,XZ,BJLX,BZRXM,BZXM FROM deleted
      

  5.   

    “(要备份的东西,部分在view_ClassInfor存在而tb_ClassInfor没有)”因为tb_ClassInfor中也有外键,老大说备份的时候不要有外键