请教大家一个问题:大类中分有小类,现在删除大类:String del_sql="delete PicBigClass where PicBClassID="+id;
然后我写了个触发器,但还没删除成功,请问是不是触发器写错了
create trigger trgDeletePicSmallClass
on PicBigClass for delete
as
   delete PicSmallClass where PicBigClassID=(select PicBClassID from deleted)
   rollback Transaction  恳请大家指点一二,谢谢!!!

解决方案 »

  1.   

    这个PicBClassID是什么类型的?
    delete PicSmallClass where PicBigClassID=:old.PicBClassID;呵呵,这是Oracle中的
      

  2.   

    PicBigClassID和PicBClassID都是int类型的
    数据库是MSSQL 2000
      

  3.   

    delete PicSmallClass where PicBigClassID in (select PicBClassID from deleted)
      

  4.   

    delete PicSmallClass where PicBigClassID in (select PicBClassID from deleted)
    换上这句也不行啊,不知道为什么.我详细说明一下吧:
    大类分有小类:
    >灯具 [1]      [添加子类][修改][删除] 
      >筒灯 [1]              [修改][删除] 
      >格栅灯 [2]            [修改][删除] 
      >射灯 [3]              [修改][删除] 
    现在我要删除"灯具"大类(大类是小类的外键)。这是删除大类的语句:String del_sql="delete PicBigClass where PicBClassID="+id;
    然后在MSSQL 2000里面写了个触发器:
    create trigger trgDeletePicSmallClass
    on PicBigClass for delete
    as
       delete PicSmallClass where PicBigClassID in (select PicBClassID from deleted)
       rollback Transaction
    现在在执行删除大类的时候小类没有被删除,页面依旧没变。
    是不是不应该这样实现???
    (嘿嘿,喜欢JAVA,所以经常来这里发帖子,再说这些问题对大家来说应该小儿科了,搞JAVA的有好多高手)
      

  5.   

    什么啊???
    rollback Transaction//你执行它是什么意思...........我无语,回滚事务....