instead of delete
delete from a
delete from b

解决方案 »

  1.   

    CREATE TRIGGER utr_bbdel ON dbo.crbb_t
    Instead of  DELETE
    AS set nocount on declare @crbb001_o  char(20)
    declare @iFlag int
    declare @iCount int select @iCount = count(*) from deleted
    print @iCount
    if @iCount > 0
    Begin

    declare my_cur cursor for
    select crbb001 from deleted
    open my_cur
    fetch my_cur  into @crbb001_o

    while @@fetch_status = 0
    begin
    delete crsb_t
    where crsb001 = @crbb001_o
    if @@error <> 0
    set @iFlag = @iFlag + 1 delete from crbb_t
    where crbb001 = @crbb001_o
    if @@error <> 0
    set @iFlag = @iFlag + 1

    end
    end
    if @iFlag > 0
    ROLLBACK TRANSACTION触发器如上,还是不行,执行过程中就没有响应了。
      

  2.   

    CREATE TRIGGER Trg_Name
    ON A
    FOR Delete
    AS 
      Delete b where Deleted.主键=b.关联主键
    GO
      

  3.   

    这个我也说不太清楚。好象FOR是后触发器,就是说,先删除,而后在触发,这个时候,如果一个表同时是另外一个表的外键那么是不能立刻删除的,除非你设定了,级联删除。INSTEAD OF 好象是前触发器,就是说先触发后删除。具体我也没有使过,不是很清楚。你还是看看帮助吧。
      

  4.   

    改数据库结构 B表以A表主键 建外键,删除的时候先删 B表,然后删A表可以在B表建触发器,触发删除操作